Вы можете определить класс формы модели и передать его в modelform_factory
. Например:
class UserForm(forms.ModelForm):
def clean_username(self):
"""always make username lowercase"""
return self.cleaned_data['username'].lower()
ProfileForm = modelform_factory(User, form=UserForm, fields=('username',))
Если вам нужно определить класс формы динамически, вы можете использовать type()
. Этот пост в блоге может помочь объяснить идею, хотя ему 10 лет, поэтому код, возможно, придется скорректировать.