Django 1.11.7 MySQL
我试图改变一个对象的值,比如:
# change the value of the filed and save
def patch(...):
instance.field_name = new_name
instance.save()
print(instance.filed_name)
当我运行代码时,我得到了打印结果 new_name
. 但是当我手动检查数据库时,得到的结果是 old_name
.
然后我尝试了以下方法: instance.save(update_fields=['field'])
和 ModelName.objects.filter(id=instance.id).update(field_name=new_name)
但也要解决上述问题。同时,除了这段代码之外,这个项目运行的非常正常。
你知道是什么导致了这个问题吗?或者你有没有解决这个问题的建议?
1条答案
按热度按时间e5njpo681#
这段代码在事务中吗?也许事务稍后会回滚到某个地方。
当您从数据库中读取数据时,您是否在事务中?某些事务模式可能不会显示此更改。
您确定字段名是正确的字段名吗?也许你有一个输入错误,你只是设置了一个对象的属性而没有改变模型字段。据我所见,你有时键入“字段名”,有时键入“文件名”