El decorador de la clase Python extendiendo la clase causa recursión
Estoy sobrescribiendo el método de guardado de unModelForm
y no sé por qué causaría la recursión:
@parsleyfy
class AccountForm(forms.ModelForm):
def save(self, *args, **kwargs):
# some other code...
return super(AccountForm, self).save(*args,**kwargs)
Causas de esto:
maximum recursion depth exceeded while calling a Python object
Stacktrace muestra esta línea llamándose repetitivamente:
return super(AccountForm, self).save(*args,**kwargs)
Ahora, el decorador de perejil es así:
def parsleyfy(klass):
class ParsleyClass(klass):
# some code here to add more stuff to the class
return ParsleyClass
Como @DanielRoseman sugirió que el decorador de Perejil extendiera elAccountForm
causa elsuper(AccountForm,self)
Para seguir llamándose, ¿cuál es la solución?
Además, no puedo entender esto por qué esto causaría recursión.