相关模式的原因django

时间:2017-03-30 08:24:17

标签: django-rest-framework

我有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休息框架中的所有记录但我只想要那种类型是真的孩子,我该怎样才能添加条件

请告诉我

1 个答案:

答案 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