How to filter against multiple values for ForeignKey using DjangoFilterBackend
However if I actually pass this url it returns rows that filters against last parameter value

This is because ForeignKey fields default to ModelChoiceFilter, which just takes a single value from the GET QueryDict. 
If you declare your fields as ModelMultipleChoiceFilter they will take the list of values you require.
I have model with following fields:

loading_port
discharge_port
carrier
supplier

All these fields are ForeignKey to models that contains name field.
Also I have viewset, which uses DjangoFilter backend for filtering. At this moment I want to make possible filtering multiple values for each field, like:
loading_port__name=PORT_1&loading_port__name=PORT_2&supplier__name=SUPP_NAME_1&supplier__name=SUPP_NAME_2 and so on. However if I actually pass this url it returns rows that filters against last parameter value (in this example for loading_port - PORT_2, for supplier - SUPP_NAME_2).
How can I fix filtering so it will meet my requirements?