orm 一对多反向查询
时间: 2023-08-13 17:07:52 浏览: 242
在ORM中,一对多关系的反向查询可以使用相关模型的名称加上 `_set` 后缀来实现。假设你有两个模型 `Project` 和 `SubProject`,其中 `SubProject` 是 `Project` 的子项目:
```python
class Project(models.Model):
# fields and methods
class SubProject(models.Model):
project = models.ForeignKey(Project, on_delete=models.CASCADE)
# other fields and methods
```
要从 `SubProject` 模型反向查询与之关联的 `Project` 对象,你可以使用 `project_set` 作为反向查询的属性名称。例如:
```python
sub_project = SubProject.objects.get(id=sub_project_id)
project = sub_project.project # 获取与子项目关联的项目
```
在这个例子中,`sub_project.project` 会返回与该子项目关联的项目对象。注意,`project` 是在 `SubProject` 模型中定义的外键字段名称。
希望这可以帮助到你!如果有任何进一步的疑问,请随时提问。
阅读全文