Try
UPDATE my_factors
SET factor = my_factors.to_weight/dni_totals.dni_sum
FROM dni_totals
WHERE my_factors.transport_order = dni_totals.to_id;
PostgreSQL doesn't like the
SET table.column
syntax, so you use the unadorned column name there. Additionally, you only need to specify table names if it would be ambiguous which table the column comes from. Whether you omit the table names or not would be an issue of style.
There's a quick tutorial on update/join here:
PostgreSQL UPDATE Join with A Practical Example[
^]