我有4个模型,我想检索它们之间的连接
MODELA
class ModelA(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(Group)
Run Code Online (Sandbox Code Playgroud)
ModelB
class ModelB(models.Model):
title = models.CharField()
Run Code Online (Sandbox Code Playgroud)
ModelC
class ModelC(models.Model):
product = models.ForeignKey(ModelB)
group = models.ForeignKey(ModelD)
Run Code Online (Sandbox Code Playgroud)
ModelD
class ModelD(models.Model):
name = models.CharField()
Run Code Online (Sandbox Code Playgroud)
现在我希望我的所有ModelA对象都与ModelB,ModelC和ModelD一起 在sql中加入这是非常容易的事情.只需在表之间建立联接.随着Django ORM我被卡住,因为我只能做前进的关系.
我这样做
ModelA.objects.all().select_related(product)
Run Code Online (Sandbox Code Playgroud)
但我不能加入ModelC我已经读过这篇文章,但我不想循环我的大清单,做一件简单的事情!我想只打一次数据库.
我正在使用Django的最后一个版本,我希望已经有一个解决方案,我不知道.
谢谢.
请参阅prefetch_related上的文档.这只是目前的开发,但会受到Django 1.4的影响.如果你可以等,或者你可以在行李箱上运行.你将能够使用它.
在此期间,您可以尝试django-batch-select.它基本上起到了同样的作用.
| 归档时间: |
|
| 查看次数: |
8157 次 |
| 最近记录: |