2012-07-19 80 views
0

我想要做的是在模型保存後執行一個函數。例如:當我通過管理員上傳數據庫轉儲文件時,我想把它加載到數據庫。Django:保存模型後調用函數

我想以後的事通過重寫保存功能:

class DumpFile(models.Model) 
file = models.FileField(upload_to="dump") 
def save(): 
    super(models.Model,self).save() 
    <LOAD DUMP LOGIC> 

這是給屬性誤差超有沒有屬性的save()。 我不明白那裏有什麼問題。請讓我知道這個問題或保存模型後的任何功能。

回答

4

super是應該考慮到當前類,而不是父類:

super(DumpFile, self).save() 

此外,考慮signals,這是製作標準的Django事件之後的事情發生另一種機制。

+0

哦對不起,我的錯誤... – 2012-07-19 02:11:09

+0

@ParitoshSingh:沒問題,怎麼樣的投票? :) – 2012-07-19 02:13:00

+0

非常感謝,信號也是一個美好的概念,至今我都不知道。 – 2012-07-19 02:14:41