class foo(BaseModel)
name : str
tmp = foo()
tmp.name = "test"
del tmp.name <= Как запретить?
print(tmp.name)__delattr__?class foo:
name: str
def __delattr__(self, item):
if item == "name":
raise AttributeError(f"Нельзя удалять атрибут: '{item}'")
# print('что-то печатаем')
# pass # или ничего не делаем
super().__delattr__(item)
tmp = foo()
tmp.name = "test"
try:
del tmp.name
except AttributeError as e:
print(e)
finally:
print(tmp.name)