我有以下QuerySet:
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
与distinct
一起使用。Django在这里添加了这个功能来回应这个问题。
我需要在这里更改什么才能使其工作?
我正在将Django3.1与Postgres11一起使用。
正如in_bulk(…)
的文档所说:
(…(
在Django 3.2中更改:
允许使用不同的字段。
由于您使用django-3.1,因此这将不起作用,因此您将不得不将程序升级到django-3.2。