我試圖覆蓋我的模型之一的保存方法。內保存方法我想用模型的另一種方法,就像這樣:保存方法中的模型類的使用方法
class MyModel(models.Model):
name = models.CharField(max_length=255)
def do_something(self):
pass
def save(self,*args, **kwargs):
self.do_something()
super(MyModel, self).save(*args, **kwargs)
這不起作用,因爲Django的執行時保存,對象是一個通用模型庫類,而不是我的ModeBase的子類。所以我得到:
unbound method do_something() must be called with MyModel instance as first argument (got ModelBase instance instead)
什麼是正確的方法來做到這一點?
可以調用方法'超(爲MyModel,個體經營).save (* args,** kwargs)'在你調用'self.do_something()'之前?因此,只需切換兩個,以便首先創建對象。 – nates
我試過了 - 它似乎沒有幫助。另外,在保存模型之前,我想確保'do_something'成功完成。 – prauchfuss