Django select_related on multitable继承

时间:2016-01-16 13:06:57

标签: django django-rest-framework django-queryset multi-table-inheritance

我想在多表继承查找上使用select_related 我的代码有一些缺点,并想知道是否有更好的解决方案

class Parent(models.Model):

    user = models.ForeignKey(settings.AUTH_USER_MODEL)


class Child(models.Model):

    pass

通过上面的类定义,我想序列化父类(异构)

parents = Parent.objects.all().select_related('user', 'child')

for parent in parents:
    parent.child.user           # <-- another db access, nullifies select_related('user')
    # i'm passing parent.child to ChildSerializer() which expects child object, and it access the user, so it's parent.child.user

我能做到

Parent.objects.all().selecte_related('child__user')

但是当有多个子模型(它需要为每个子类加入)时它有自己的问题

0 个答案:

没有答案