我想在多表继承查找上使用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')
但是当有多个子模型(它需要为每个子类加入)时它有自己的问题