Доступ к Django самостоятельно в поле PrimaryKeyRelatedField

#django #rest #django-rest-framework #django-serializer

Вопрос:

У меня есть модель заказа со столбцами:

 id, restaurant_id, user_id, comment
 

и OrderHasItem с колонками:

 quantity, order_id, item_id
 

Я хотел бы иметь возможность разрешать товары из одного и того же ресторана только для OrderHasItem .

 class OrderHasItemCreateSerializer(serializers.ModelSerializer):
    item = serializers.PrimaryKeyRelatedField(queryset=Item.objects.all(), many=False)
    class Meta:
        model = OrderHasItem
        fields = ['id', 'quantity', 'item']


class OrderCreateSerializer(serializers.ModelSerializer):
    items = OrderHasItemCreateSerializer(many=True)
    restaurant = serializers.PrimaryKeyRelatedField(queryset=Restaurant.objects.all(), many=False)
    comment = serializers.CharField(required=False)
 

Есть ли способ войти self.restaurant внутрь PrimaryKeyRelatedField ? Спасибо

Комментарии:

1. Почему бы вам вместо этого не использовать вложенный сериализатор PrimaryKeyRelatedField ?