在Django中,以下两者有什么区别:
Article.objects.values_list('comment_id', flat=True).distinct()
对比
Article.objects.values('comment_id').distinct()
我的目标是在每个Article. 我已经阅读了文档(实际上已经使用了这两种方法)。结果显然相似。
Article
该values()方法返回一个包含字典的 QuerySet:
values()
<QuerySet [{'comment_id': 1}, {'comment_id': 2}]>
该values_list()方法返回一个包含元组的 QuerySet:
values_list()
<QuerySet [(1,), (2,)]>
如果您使用values_list()单个字段,则可以使用flat=True返回单个值而不是 1 元组的 QuerySet:
flat=True
<QuerySet [1, 2]>