我遇到了一个非常严重的错误,我花了几个小时来弄清楚为什么我无法连接Postgres数据库中的所有点。
我的django应用程序中有一个模型,其中包含以下字段:
last_modified_on = models.DateTimeField(auto_now=True)
我的代码中有一点使用
members.update(first_name=first_name,.....)
一切正常,除了一个字段外更新:
last_modified_on
在做了一些研究之后,我找到了this,但该修复的版本和日期非常值得怀疑。
有谁知道怎么了最重要的,解决它的最佳方法是什么?
答案 0 :(得分:1)
认识到update()在SQL级别进行更新,因此确实如此 不要在模型上调用任何save()方法,也不要发出 pre_save或post_save信号(这是调用的结果 Model.save())。如果要更新模型的一堆记录 它有一个自定义的save()方法,循环它们并调用save(),就像 这样:
for m in YourModel.objects.filter(....):
m.first_name = "First Name"
m.save()
您还应该知道,如果您在模型中有一个客户save
方法,则不会调用它。在安全区域。