Django值\u列表与值

在Django中,以下两者之间的区别是什么:

Article.objects.values\u list('comment\u id',flat=True).distinct()

vs

Article.objects.values('comment_id').distinct()

我的目标是在每一篇文章下获得唯一注释ID的列表。我已经阅读了文档(实际上已经使用了这两种方法)。结果显然相似

values()方法返回一个包含字典的查询集:

<查询集[{'comment\u id':1},{'comment\u id':2}]>

values\u list()方法返回一个包含元组的查询集:

<查询集[(1,),(2,)]>

如果对单个字段使用values\u list(),则可以使用flat=True返回单个值的查询集,而不是1元组:

<查询集[1,2]>

发表评论