我想根据外键对模型对象进行分组,可以使用查询,也可以不使用任何迭代。
我有一个模型 student
:
class Student(models.Model):
id=models.AutoField(primary_key=True)
parentId=models.ForeignKey(parent)
name=models.CharField()
age=models.IntegerField()
在这里我要创建组 student object
关于 parentId
使用查询或任何优化方式。
2条答案
按热度按时间nsc4cvqm1#
尝试使用defaultdict
ecr0jaav2#
如果按外键对元素排序,则可以使用
itertools.groupby
为此:或者如果你想为你的Map编一本字典
parent
对象添加到Student
学生:这将生成一个列表列表,其中在每个子列表中,
student
他和我一样parentId
被分组在一起。请注意
ForeignKey
他们通常没有_id
,或Id
后缀。因此,您可能需要将模型更改为: