whens = [When(pk=x, then=_json['info'][str(x)]) for x in ids]
Clinics.objects.filter(pk__in=ids).update(
info_json=Case(*whens, output_field=JSONField())
)
我想使用 JSONField() 的 Case-When 语句执行批量更新。当我在每次迭代中使用 save() 在一个愚蠢的循环中执行此操作时,一切正常。但是上面的代码写给我:django.db.utils.ProgrammingError: can't adapt type 'dict'
说第二行。我也尝试了 json.loads(),但没有成功。我应该怎么做才能执行这个多次更新?
我正在使用 Python 3.6.3 和 Django 1.11.16