Das Erweitern der Klasse durch den Python-Klassendekorator verursacht eine Rekursion
Ich überschreibe die Speichermethode von aModelForm
und ich weiß nicht, warum es zu einer Rekursion führen würde:
@parsleyfy
class AccountForm(forms.ModelForm):
def save(self, *args, **kwargs):
# some other code...
return super(AccountForm, self).save(*args,**kwargs)
Verursacht dies:
maximum recursion depth exceeded while calling a Python object
Stacktrace zeigt diese Zeile, die sich wiederholt selbst aufruft:
return super(AccountForm, self).save(*args,**kwargs)
Nun, der Petersilien-Dekorateur sieht so aus:
def parsleyfy(klass):
class ParsleyClass(klass):
# some code here to add more stuff to the class
return ParsleyClass
Als @DanielRoseman schlug vor, dass der Petersiliendekorateur dieAccountForm
verursacht diesuper(AccountForm,self)
um sich selbst zu nennen, was ist die Lösung?
Ich kann mich auch nicht darum kümmern, warum dies zu einer Rekursion führen würde.