【发布时间】:2021-06-25 11:22:30
【问题描述】:
首先,请考虑到我是Django 的新手,所以我不太确定自己在寻找什么。
我有一个模型叫Product:
class Product(models.Model):
name = models.CharField('Name', max_length=100)
...
一个Product 可以有多个变体,所以我创建了另一个名为ProductVariant 的模型,它有一个ForeignKey 到Product。
class ProductVariant(models.Model):
name = models.CharField('Name', max_length=100)
product = models.ForeignKey(Product,
verbose_name='Produkt',
related_name='productvariants',
on_delete=models.CASCADE)
...
我只想退回具有变体的产品,但我不知道如何从Product Filter 或Product Serializer 访问该信息,因为ForeignKey 位于ProductVariant 模型上。
有什么想法吗?我知道这是基本的 Django,但我是全新的,任何帮助将不胜感激。
这是我的Product Filter:
class ProductFilter(filters.FilterSet):
class Meta:
model = Product
fields = ['id', 'name']
Product Serializer:
class ProductSerializer(serializers.ModelSerializer):
class Meta:
model = Product
fields = ('id', 'name')
Product ViewSet:
class ProductViewSet(ModelViewSet):
queryset = Product.objects.all()
filterset_class = ProductFilter
serializer_class = ProductSerializer
permission_classes = [IsAuthenticated]
【问题讨论】:
标签: django django-rest-framework django-filter