這應該是一個Django特定的,但我想它是Python。Django - 保留原始方法的工作並添加新的自定義驗證
基本上,我不想重寫我繼承的類中的原始方法的工作(可能是一個Model類),但我想添加額外的驗證。 這可能嗎?任何提示?
class MyUserAdminForm(forms.ModelForm):
class Meta:
model = User
def clean(self):
// do some additional work even though it's cleaned by parent's clean method
對於OP,請注意''super'的問題:第一個參數是* current *類的名稱。 – 2012-07-08 19:29:00
@jdi謝謝。這是非常有用的知道。我正在考慮同樣的事情,但我只看到過__init__'被使用。所以我可以用任何'clean_'方法做同樣的事情,或者只是碰巧有任何方法:) – User007 2012-07-08 19:31:24
@ User007:雅幾乎。就像我說的那樣,init的超級普通,所以我相信你已經看到了它。 'super()'是一個幫助函數,用於查找要調用的正確的超類方法。這是一個明智的做法'forms.ModelForm.clean(self)'。超級數字出哪個班級給你打電話「乾淨」。 – jdi 2012-07-08 21:32:59