我有2个模特
class Parent(models.Model):
name = models.CharField(max_length=50)
class Child(models.Model):
parent = models.ForeignKey(Parent,related_name='child')
child_name = models.CharField(max_length=80)
type = models.BooleanField()
我想从父模型和子项
中的相关记录中获取结果Parent.objects.all()
它返回我父母和孩子在django休息框架中的所有记录但我只想要那种类型是真的孩子,我该怎样才能添加条件
请告诉我
答案 0 :(得分:0)
在您的父通用列表中,api视图覆盖get_queryset方法:
def get_queryset(self):
return (Parent.objects.all()
.prefetch_related(Prefetch('child', queryset=Child.objects.filter(type=True))))
另外在旁注中我建议你不要在子模型上命名字段type
,因为它与python关键字type
冲突。另一个建议是将related_name值用作children
。