Ich habe einige Klasse mit benutzerdefinierten Getter für spezifische attr:maximale Rekursionstiefe überschritten Getter Django
class Item(a, b, c, d, models.Model):
title = Field()
description = Field()
a = Field()
_custom_getter = ['title','description']
def __getattribute__(self, name):
if name in self.custom_getter:
return 'xxx'
else:
return super(Item, self).__getattribute__(name)
dieser Code erhöhen RunetimeError
: maximum recursion depth exceeded while calling a Python object
aber wenn ich Sie mit diesem Stück Code:
class Item(a, b, c, d, models.Model):
title = Field()
description = Field()
a = Field()
def __getattribute__(self, name):
custom_getter = ['title','description']
if name in custom_getter:
return 'xxx'
else:
return super(Item, self).__getattribute__(name)
Alles funktioniert wie ich will. Wo ist mein Fehler im ersten Code?
Ich benutze 'Objekt .__ getAttribute __ (self, '_custom_getter')' statt 'self .__ dict __ [ '_ custom_getter']', weil sie denselben Fehler erzeugen, aber danke für Artikel, fand ich Lösung ther. – gargi258