Как преобразовать QuerySet в набор в 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, но должно работать нормально.

Вы можете обернуть его поверх set(…):

set(person.objects.value_list('first_name','phone_num'))

Но вы можете позволить базе данных сделать эту работу с помощью метода .distinct(…) [Django-doc]:

person.objects.value_list('first_name','phone_num').distinct()

это позволит минимизировать пропускную способность от базы данных до прикладного уровня.

Вернуться на верх