一尘不染

Django values_list vs值

django

在Django中,以下两个之间有什么区别:

Article.objects.values_list('comment_id', flat=True).distinct()

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

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


阅读 451

收藏
2020-03-31

共1个答案

一尘不染

values()方法返回一个包含字典的QuerySet:

<QuerySet [{'comment_id': 1}, {'comment_id': 2}]>

该values_list()方法返回一个包含元组的QuerySet:

<QuerySet [(1,), (2,)]>

如果使用values_list()单个字段,则可以使用flat=True返回单个值而不是1元组的QuerySet:

<QuerySet [1, 2]>
2020-03-31