python - 如何在 Django 中预取嵌套数据?
问题描述
我有以下型号:
class Contract:
products = models.ManyToManyField(
to="Product",
through="ContractProductThroughModel",
related_name="contracts"
)
class Product:
garage = models.ForeignKey(
to="Garage",
on_delete=models.CASCADE
)
class Garage:
...
有没有办法预取所有车库的所有合同?我试过这样的答案:
garages = Garage.objects.all().prefetch_related("product_set").prefetch_related(Prefetch("product_set__contracts", to_attr="cached_contracts"))
但我想像这样访问每个车库对象的缓存合同garage.cached_contracts
。
那可能吗?
解决方案
推荐阅读
- mysql - Mysql工作台逆向工程
- javascript - 如何在 React 中更新我的帖子的评论
- bash - 删除 bash 中最后一次出现的字符串
- eclipse - HANA Eclipse - 项目资源管理器“没有连接到数据库”
- javascript - 如何在 Cypress 中测试 Slate JS 行为
- php - 如何在 PHP 数组中找到填充的索引?
- python - 使用 mypy 时在 python 中正确键入异常/错误元组
- html - 为什么在使用“padding: 10px;!imprtant;”时我的导航栏上没有颜色
- webpack - Webpack 无法解析相对于包路径的模块
- git - Git - 多个遥控器是否可以有多个 .gitignore?