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