django - Django in_bulk() 使用 distinct() 引发错误
问题描述
我有以下查询集:
MyModel.objects
.order_by("foreign_key_id")
.distinct("foreign_key_id")
.in_bulk(field_name="foreign_key_id")
foreign_key_id
不是唯一的,MyModel
但distinct
在 QuerySet 中使用应该是唯一的。
但是,当它运行时,会引发以下错误:
"ValueError: in_bulk()'s field_name must be a unique field but 'foreign_key_id' isn't."
根据in_bulk
此处的 Django 文档,应该可以使用in_bulk
withdistinct
这种方式。该功能已添加到 Django 以响应此处的问题单。
我需要在这里改变什么才能使这项工作?
我将 Django3.1 与 Postgres11 一起使用。
解决方案
As the documentation of in_bulk(…)
says:
(…)
Changed in Django 3.2:
Using a distinct field was allowed.
Since you use django-3.1, this will thus not work, you will thus have to upgrade your program to django-3.2.
推荐阅读
- hybris - 如何在 Hybris 中使用 RotatingImagesComponent?
- docker - 是否可以使用 docker windows 容器中的 TBS 访问 docker windows 主机的 TPM?
- c - 如何使用 libsoundios sio_sine 示例分离音频通道以从不同来源输出?
- python - 信号 SIGSEGV:当我使用 go-python3 时,分段违规代码 = 0x1
- java - 当我覆盖 onclick() 方法时更改相同组件的属性
- laravel - 为什么 Local Laravel api 正在通过其本地消费者进行调试
- sqlalchemy - 我们可以将 fastapi-admin 与 sqlalchemy orm 集成吗
- flutter - Flutter 错误:在 dispose() 之后调用 setState()
- node.js - TypeError:无法读取 null 的属性“awaitMessages”
- html - 标签 css 文本中心内的 p 标签