我想以某种方式查询数据库,而不是仅仅按某个字段排序,而是为该字段的每个唯一值获得一个单独的 QuerySet(或字典、列表等)。希望下面的例子会有所帮助:
假设一个模型像
Class Person(models.Model):
first_name = models.CharField()
last_name = models.CharField
调用 Person.objects.all().order_by('last_name') 会给我一个长查询集。相反,我希望为每个唯一的姓氏创建一个单独的列表。因此,每个带有 last_name="Smith" 的 Person 的列表和每个带有 last_name="Nguyen" 的 Person 等的列表。
显然,我无法提前知道数据库中的 last_names 是什么,也不知道有多少人会共享一个共同的 last_name。在 django 中是否有任何快速、高效或自动的方法来执行此操作,或者我只需要在取回一个大型查询集后自己处理数据?