加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 与select_related的Django反向关系

发布时间:2020-12-12 06:53:31 所属栏目:MsSql教程 来源:网络整理
导读:我有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): prod
我有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.它基本上用于相同的目的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读