【发布时间】:2019-03-19 22:43:07
【问题描述】:
嗨,我是 Django 新手,希望有人能帮我解决我的小问题^^
我有这样的模型:
class Article(model.Model):
name = model.CharField(max_length=100)
...
class Stock(model.Model):
article = models.ForeignKey(Article, on_delete=models.CASCADE, null=True)
quantity = model.IntegerField(max_digits=10, default=1)
quality = models.CharField(max_length=15, choices=[(tag.value, tag.value) for tag in States])
...
我想获得所有文章的列表,其中包含所有股票,如
[{
name: 'Bla',
stock: [{
quantity: 22,
quality: 'good',
}]
}]
我有一个观点:
class ArticleListView(ListAPIView):
queryset = Article.objects.all()???
serializer_class = ArticleStockSerializer
permission_classes = (IsAuthenticated, HasAccess)
但我不知道如何使用它
还有一个像这样的序列化器:
class ArticleStockSerializer(ArticleSerializer):
stock = serializers.SerializerMethodField()
def get_stock(self, obj):
stock = StockSerializer()
return stock
class Meta(ArticleSerializer.Meta):
model = Article
fields = ArticleSerializer.Meta.fields + ('stock',)
不工作,我找不到正确的使用方法。
希望有人可以帮助我:)
感谢和问候
xQp
【问题讨论】:
标签: django api model left-join