我有一个模型,以及使用此模型的3种不同形式(当然,每种形式都有此模型的不同字段)。我写了几个 clean 函数来验证表单填写...但是,我真的不想复制并将此验证通过所有表单。
是否可以有一个普通的清洁课程?我怎么称呼它?
以下是实际代码:
models.py
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
cpf = models.CharField('CPF', max_length=14, blank=True)
cnpj = models.CharField('CNPJ', max_length=18, blank=True)
...
forms.py
class yyyyyForm(UserCreationForm):
...
def Meta:
...
def Save:
...
def clean_cpf(self):
...
class xxxxxForm(UserCreationForm):
...
def Meta:
...
def Save:
...
def clean_cpf(self):
...
答案 0 :(得分:3)
为什么你没有一个baseForm类放在clean_cpf()方法中,然后为其他表单扩展,并且因为clean_cpf在父表单中,所以你不必在子类中实现它
在你的例子中,看起来你有一个名为UserCreationForm的基类,如果这是你可以编辑的表单,那么你可以把你的干净方法放在那里。