У меня есть модель Товар:
class Commodity(models.Model):
shop = models.ForeignKey(Shop, related_name='commodity', on_delete=models.CASCADE)
brand = models.ForeignKey(Brand, blank=True, null=True, on_delete=models.CASCADE)
price_old = models.DecimalField(max_digits=10, decimal_places=2)
price_new = models.DecimalField(max_digits=10, decimal_places=2)
Я пытался использовать limit_choices_to
, и это не сработало.
У меня есть сериализатор:
class CommoditySerializer(serializers.ModelSerializer):
image = CommodityImageSerializer(many=False)
def get_queryset(self):
user = self.context['request'].user
queryset = Commodity.objects.filter(shop__company__user=user)
return queryset
class Meta:
model = Commodity
fields = ('id', 'shop', 'brand', 'price_old', 'price_new')
Этот get_queryset также не помогает мне.
Наконец, у меня есть обычный CreateAPIView, и этот метод также не помогает мне.
Как я могу ограничить использование внешних ключей? Мне нужно разрешить создавать товары для моего пользователя только в его магазинах. Спасибо!