Django Model总是获取相关的一对一字段

时间:2016-01-04 11:23:40

标签: python django polymorphism prefetch django-select-related

我在django中为两个模型使用多态,其中一个与另一个模型有一对一的关系。

from polymorphic.models import PolymorphicModel

class Base(PolymorphicModel):
    name = models.CharField(max_length=25)

class Engine(models.Model):
    name = models.CharField(max_length=25)

class A(Base):
    type = models.CharField(max_length=25)

class B(Base):
    name = models.CharField(max_length=25)
    engine = models.OneToOneField(Engine)

class Host(Base):
    base_type = models.ForeignKey(Base)

现在,我想对类Host使用prefetch_related

host = Host.objects.all().prefetch_related('base_type__engine__name')

但是,它对于模型B中的某些对象无效。

在我获取A对象时有没有办法预取Engine对象?

0 个答案:

没有答案