How can I limit a the queryset of a related field with custom model serialiser based on the request user? I have implemented this with a SerializerMethodField, but it seems not the best solution:
class TourSerializer(serializers.ModelSerializer):
"""
Returns a list of tour objects.
"""
orders = serializers.SerializerMethodField()
class Meta:
model = Tour
fields = (
'id', 'orders'
)
def get_orders(self, obj):
orders = Order.objects.visible_for_me(self.context['request'].user).filter(tour=obj)
serializer = OrderSerializer(orders, many=True)
return serializer.data