【问题标题】:Using prefetch_related on specific attributes?在特定属性上使用 prefetch_related?
【发布时间】:2019-11-18 23:50:07
【问题描述】:

我有以下代码:

pictures_of_model: Model3D.objects.prefetch_related('Pictures')

Pictures 是另一个表,我在其中存储图片的 id、图片本身在 ImageField 中以及作为外键的 modelid。如何确保 django 预取带有 ImageField 的属性而不是图片的 id?

pictures_of_model: Model3D.objects.prefetch_related('Pictures').picture

这不可能是正确的,对吧? Picture 是我的 ImageField,其中包含图片。

感谢每一个帮助我学习的答案,谢谢!

【问题讨论】:

    标签: python sql django foreign-keys


    【解决方案1】:
    # 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 = ..
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-10
      • 2010-10-04
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      相关资源
      最近更新 更多