У меня есть этот менеджер:
class ConfigValueManager(models.Manager):
def get(self, key):
config_value = self.filter(key=key).first()
if config_value:
type_caster = locate(config_value.type)
return type_caster(config_value.value)
return config_value
def set(self, key, value):
self.filter(key=key).update(value=value)
def set2(self, key, value):
qs = self.filter(key=key)
if qs:
qs.update(value=value, type=type(value).__name__, company=self.instance)
else:
self.create(key=key, value=value, type=type(value).__name__, company=self.instance)
проблема в том, что я не могу перезаписать set
.Метод все еще исходит от родителя, хотя я создал set
для ребенка.Забавно, что get
и set2
в порядке.Даже add
, которого нет в моем примере, нельзя переопределить.
Мой вопрос: как мне перезаписать set
и почему это происходит?