2015-05-06 72 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方法在你的模型中不會被調用。在安全區域。