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.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage