gpt4 book ai didi

django - 通过 django 查询集上的 values() 方法访问 ImageField 的 url

转载 作者:行者123 更新时间:2023-12-04 15:08:04 26 4
gpt4 key购买 nike

我在 Django 中有一个数据模型,用于保存用户上传的照片。有一个名为 image_file 的属性在 Photo模型(类型为 ImageField )其中 - 除其他外 - 存储图像的 url。我可以通过 item.image_file.url 成功访问这个 url例如在模板(和 View )中。

但是,我似乎无法在 View 中执行以下操作:
Photo.objects.filter(owner=user).order_by('-id').values('id','image_file.url')[:10]
IE。对于特定用户,我正在尝试获取 10 个最新照片对象的图像 URL 以及对象 ID。这给了我 FieldError: Cannot resolve keyword 'image_file.url' into field .这不应该奏效吗?

我知道我可以检索整个对象并在模板中进行过滤,但我觉得只检索我实际需要的字段而不是完整的对象更理想。

附言它是一个 postgresql 后端,底层的 Storage 类已被覆盖

最佳答案

urlproperty , 不是数据库中的值 ( FileField code ) 这就是为什么你不能从 values() 得到它的原因.据我所知,您必须获得 url分别值...

您可能想看看 only()尽管。如果你走那条路,你可能应该用 Django 调试工具栏之类的东西来观察 SQL 查询。如果url属性尝试检索未包含在 only() 中的字段,它可能会进行单独的 SQL 调用。

关于django - 通过 django 查询集上的 values() 方法访问 ImageField 的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42729979/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com