2015-05-06 24 views
0

我遇到了一个非常严重的错误,那花了我几个小时才弄清楚为什么我无法连接Postgres数据库中的所有点。Django 1.7.6带DateTimeField(auto_now = True)和.update查询的BUG?

我在我的Django应用程序的模型具有这一领域:

last_modified_on = models.DateTimeField(auto_now=True) 

在一个点在我的代码我使用

members.update(first_name=first_name,.....) 

一切工作正常,除了一个外地更新罚款:

last_modified_on 

经过一番研究,我发现this,但版本和日期的修复是非常可疑的。

有谁知道发生了什么事,解决它的最好方法是什么?

回答

1

实现该更新()不更新在SQL级别,因此,不 不调用任何save()方法在你的模型,也没有发出 pre_save或post_save信号(这是一个后果调用 Model.save())。如果您想更新一堆记录,有一个自定义的保存()方法的模型 ,环比他们并调用保存(),像 这样:

for m in YourModel.objects.filter(....): 
    m.first_name = "First Name" 
    m.save() 

你也应该知道,如果你有一个客户save方法在你的模型中不会被调用。在安全区域。