Django - 跨关系查询

Posted

技术标签:

【中文标题】Django - 跨关系查询【英文标题】:Django - queries across relationships 【发布时间】:2011-09-20 02:15:33 【问题描述】:

我是 Django 新手,我正在尝试在 Django 中实现这种关系

人有车 可以测试汽车是否有问题 应该针对一组选定的标准对汽车进行测试

所以我把它实现为

类人(model.Model):
    名称 = models.CharField(max_length=60)
    许可证 = models.CharField(max_length=80)

类汽车(模型。模型):
    名称 = 模型.CharField()
    owner = models.ForeignKey('Person')
    isDiesel = models.BooleanField()

我正在尝试将汽车字段导入测试。有没有办法做到这一点? 我正在尝试复制此 SQL 语句

 SELECT test FROM table WHERE OWNER IS x (object instance) AND CAR IS isDiesel 

提前致谢。

【问题讨论】:

【参考方案1】:
Car.objects.filter(isDiesel=True, owner=person_instance)

这将返回一个 Car 对象数组。

您应该阅读at the Django docs on this subject;这个框架有一个非常糟糕的文档。

【讨论】:

我忘了提到class Test(models.Model) 是一个我应该在其中定义它的类。这个解决方案会在其中起作用吗?

以上是关于Django - 跨关系查询的主要内容,如果未能解决你的问题,请参考以下文章

28.多表查询——跨关联关系的多表查询

28.多表查询——跨关联关系的多表查询

Django之ORM查询进阶

django如何跨表查询

Django中的多连接查询

Django学习系列(二,Models数据操作篇)