Django - 保持原始方法的工作并添加新的自定义验证

Use*_*007 3 python django

这应该是特定于Django的,但我想它仍然是Python.

基本上,我不想在我继承的类中覆盖原始方法的工作(可能是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
Run Code Online (Sandbox Code Playgroud)

jdi*_*jdi 5

调用类清理方法:

def clean(self): 
    super(MyUserAdminForm, self).clean()
    # more cleaning
Run Code Online (Sandbox Code Playgroud)

当你继承某些东西并重新定义functionaly但要确保保留超类功能时,这是一个常见的python事情.当你执行init方法时非常常见,因为你总是需要确保调用超类构造函数来设置实例.