python - 在特定属性上使用 prefetch_related?
问题描述
我有以下代码:
pictures_of_model: Model3D.objects.prefetch_related('Pictures')
图片是另一个表,我在其中存储图片的 id,图片本身在 ImageField 中,以及作为外键的 modelid。如何确保 django 使用 ImageField 而不是图片的 id 预取属性?
pictures_of_model: Model3D.objects.prefetch_related('Pictures').picture
这不可能是正确的,对吧?图片是我的 ImageField ,它包含图片。
我感谢每一个帮助我学习的答案,谢谢!
解决方案
# You need to import Prefetch
from django.db.models import Prefetch
# Your query should be like this
Model3D.objects.prefetch_related(Prefetch('pictures', queryset=Pictures.objects.only('picture').all())).all()
# Where models could be
Class Pictures(models.Model):
picture = ...
Class Model3D(models.Model):
pictures = ..
推荐阅读
- c# - 用另一个带有条件的列表填充列表
- vim - Vim 中的空行是否被视为段落的一部分?
- kubernetes - Kubernetes CRD 版本控制
- laravel - Laravel mix vue-template-compiler 必须安装为对等依赖项
- jquery - 如何使用数据属性更改 Slick Slider 默认箭头?
- sql-server-2008-r2 - 数据库兼容级别 SQL Server 2008 R2
- php - 如何在表格数据中移动第一个,下一个,上一个,最后一个 Acno?
- azure-blockchain-workbench - 将新合同部署到 Azure Blockchain Workbench 时出错
- c++ - 使用 LibXL 时执行 C++ (CodeBlocks) 代码时出错
- angular - 比较原生脚本和 Ionic 并需要原生脚本教程 - 混合应用程序