如何解决基于现有值的bulk_upsert更新
我需要批量更新一些数据集。但是应该根据已经存在的现有值计算一个字段。为简单起见,我使用字段 IN_updated_at
来更新数据库中已存在的相同值。即F('IN_updated_at')
from django.db.models import F
for i in some_list:
sync_list.append(
{
'id':'some_id','last_synced_time': Now(),'IN_updated_at': F('IN_updated_at')
}
)
MyModel.objects.bulk_update([MyModel(**kv) for kv in sync_list],['last_synced_time','IN_updated_at'])
但我收到以下错误:
TypeError: 预期的字符串或类似字节的对象
我对 JSON 字段也做了同样的事情,但出现以下错误:
TypeError: 'F' 类型的对象不是 JSON 可序列化的
我怎样才能得到这份工作?
注意:我按照 this answer 使用它,但在 bulk_upsert 中使用。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。