gpt4 book ai didi

sql - Django与select_related的反向关系

转载 作者:行者123 更新时间:2023-12-04 06:45:50 25 4
gpt4 key购买 nike

我有 4 个模型,我想检索它们之间的连接

型号A

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

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

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

型号D
class ModelD(models.Model):
name = models.CharField()

现在我想要我所有的 型号A 连接的对象B型 , 型号C 型号D
在 sql 中,这很容易做到。只需在表之间建立连接。
使用 Django ORM 我被卡住了,因为我只能做正向关系。

我在做这个
ModelA.objects.all().select_related(product)

但是我不能加入ModelC
我已经看过 this article ,但我不想遍历我的大列表,做一件简单的事情!我只想点击数据库一次。

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

谢谢你。

最佳答案

请参阅 prefetch_related 上的文档.它目前只是开发版,但会在 Django 1.4 中出现。如果你可以等待,或者你可以在主干上运行。你将能够使用它。

同时,您可以尝试django-batch-select .它基本上用于相同的目的。

关于sql - Django与select_related的反向关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8096870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com