Klasa rozszerzająca dekorator klasy Python powoduje rekursję
Nadpisuję metodę zapisu aModelForm
i nie wiem, dlaczego spowodowałoby to rekursję:
@parsleyfy
class AccountForm(forms.ModelForm):
def save(self, *args, **kwargs):
# some other code...
return super(AccountForm, self).save(*args,**kwargs)
Powoduje to:
maximum recursion depth exceeded while calling a Python object
Stacktrace pokazuje tę linię powtarzalnie nazywając siebie:
return super(AccountForm, self).save(*args,**kwargs)
Teraz dekorator pietruszki jest taki:
def parsleyfy(klass):
class ParsleyClass(klass):
# some code here to add more stuff to the class
return ParsleyClass
Jak @DanielRoseman zasugerował, że dekorator pietruszki rozszerzyAccountForm
powodujesuper(AccountForm,self)
aby wciąż dzwonić, jakie jest rozwiązanie?
Poza tym nie mogę obalić tego, dlaczego spowodowałoby to rekursję.