相关模式 Django 的原因



我有 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 rest 框架中,但我只想要那个类型的孩子,我该如何添加条件

请让我知道

在父泛型列表中 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 .

最新更新