我使用MySQL作为我的django数据库后端。通常(每5分钟)我需要更新表中的一两个字段。我使用save(update_fields=['myfield'])
方法来执行此操作。但偶尔,我会收到Save with update_fields did not affect any rows
错误。此外,有时整个程序会挂起save()
方法。我必须输入两次ctrl-c才能退出。
我使用objects.get()
来检索需要更新的记录。如果我删除update_fields
并仅使用save()
,我的主键有时会出现(1062, "Duplicate entry 'field_value' for key 'PRIMARY'")
错误。
有人理解这种行为吗?感谢。
编辑:
程序如下所示(省略不相关的代码):
for new_data in db.change():
record = User.objects.get(DeviceID=deviceid)
record.curr_status=new_data
record.save()