Разделите набор запросов или получите несколько наборов запросов по полю вместо простого упорядочения по полю

Я хочу запрашивать базу данных таким образом, чтобы вместо простого упорядочения по какому-либо полю я получал отдельный QuerySet (или словарь, список, что угодно )для каждого уникального значения этого поля. Надеюсь, приведенный ниже пример поможет:

Предположим, что модель типа

Class Person(models.Model):
   first_name = models.CharField()
   last_name = models.CharField

Вызов Person.objects.all ().order _по ('последнее _имя' )дает мне один длинный QuerySet. Вместо этого я хочу иметь отдельный список для каждого уникального последнего имени _. Итак, один список для каждого человека с фамилией _name="Smith" и другой список для каждого человека с фамилией _name="Nguyen" и т. д.

Очевидно, я не могу заранее знать, какие фамилии _будут в базе данных, и сколько людей будут иметь общую фамилию _. Есть ли какой-нибудь быстрый, эффективный или автоматический способ сделать это в django, или мне просто нужно обработать данные самостоятельно после получения одного большого набора запросов?

6
задан Tango 9 July 2012 в 01:59
поделиться