sql – 与select_related的Django反向关系

前端之家收集整理的这篇文章主要介绍了sql – 与select_related的Django反向关系前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有4个模型,我想检索它们之间的连接

MODELA

class ModelA(models.Model):
    product = models.ForeignKey(ModelB)
    group = models.ForeignKey(Group)

ModelB

class ModelB(models.Model):
    title = models.CharField()

ModelC

class ModelC(models.Model):
    product = models.ForeignKey(ModelB)
    group = models.ForeignKey(ModelD)

ModelD

class ModelD(models.Model):
    name = models.CharField()

现在我希望我的所有ModelA对象都与ModelB,ModelC和ModelD连接在一起
sql中,这很容易做到.只需在表之间建立联接.
随着Django ORM我被卡住,因为我只能做前进的关系.

我这样做

ModelA.objects.all().select_related(product)

但我无法加入ModelC
我已经阅读了this article,但我不想在我的大清单上循环,做一件简单的事情!我想只打一次数据库.

我正在使用Django的最后一个版本,我希望已经有一个解决方案,我不知道.

谢谢.

解决方法

请参阅 prefetch_related上的文档.目前它只是开发人员,但会使用Django 1.4.如果你可以等,或者你可以在行李箱上运行.你将能够使用它.

在此期间,您可以尝试django-batch-select.它基本上用于相同的目的.

猜你在找的MsSQL相关文章