在Django,以下两者之间有什么区别:
Article.objects.values_list('comment_id', flat=True).distinct()
vs
Article.objects.values('comment_id').distinct()
我的目标是获得每个Article
下的唯一 comments ID列表.我已经阅读了文档(实际上使用了两种方法).结果显然是相似的.
在Django,以下两者之间有什么区别:
Article.objects.values_list('comment_id', flat=True).distinct()
vs
Article.objects.values('comment_id').distinct()
我的目标是获得每个Article
下的唯一 comments ID列表.我已经阅读了文档(实际上使用了两种方法).结果显然是相似的.
values()
方法返回一个包含字典的查询集:
<QuerySet [{'comment_id': 1}, {'comment_id': 2}]>
values_list()
方法返回包含元组的QuerySet:
<QuerySet [(1,), (2,)]>
如果将values_list()
与单个字段一起使用,则可以使用flat=True
返回单值的QuerySet,而不是1元组:
<QuerySet [1, 2]>