Как преобразовать 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()
это позволит минимизировать пропускную способность от базы данных до прикладного уровня.