如何将 QuerySet 转换为 Django 中的集合?

how to convert a QuerySet to a set in django?

我有一个问题, name_phonenum = person.objects.value_list('first_name','phone_num') 我想将查询集转换为一个集合。知道怎么做。

people = Person.objects.all()
people_list = []
for person in people:
    people_list.append([person.first_name, person.phone_num])

people_set = set(people_list)

没有在 shell 中对此进行测试,但应该可以正常工作。

编辑:William 是正确的,他的回答要好得多。

你可以把它包裹在 set(…):

<strong>set(</strong>person.objects.value_list('first_name','phone_num')<strong>)</strong>

但是您可以让数据库使用 .distinct(…) method [Django-doc]:

person.objects.value_list('first_name','phone_num')<strong>.distinct()</strong>

这将最大限度地减少从数据库到应用层的带宽。