AttributeError: ‘super’ object has no attribute ‘__getattr__’. Did you mean: ‘__setattr__’?

Ошибка AttributeError: 'super' object has no attribute '__getattr__' возникает, когда вы пытаетесь использовать метод __getattr__() для объекта super(), но этот метод не существует. Вместо этого, вам доступен метод __setattr__(). Ошибка предлагает вместо __getattr__() использовать __setattr__().

Метод __getattr__() используется для обработки доступа к атрибуту, который не существует. Он вызывается при попытке доступа к атрибуту, который не является частью объекта. Метод __setattr__() же используется для установки значений атрибутов объекта.

Ошибка может возникнуть, когда вы пытаетесь вызвать __getattr__() для объекта super, который не поддерживает этот метод. Вместо него, super объект поддерживает только метод __setattr__().

Для исправления ошибки, вы можете использовать __setattr__() вместо __getattr__(). Однако, перед тем как делать это, важно понять, что именно вы хотите сделать с объектом super().

Если вы хотите установить значение атрибута, вам нужно использовать __setattr__(). Вот пример:

class ChildClass(ParentClass):
    def __init__(self):
        super().__setattr__('attribute_name', attribute_value)

Если вы хотите обработать доступ к атрибуту, который не существует, вы можете использовать условные выражения и проверять наличие атрибута перед вызовом метода __setattr__(). Вот пример:

class ChildClass(ParentClass):
    def __setattr__(self, name, value):
        if name == 'attribute_name':
            # обработка доступа к атрибуту
        else:
            super().__setattr__(name, value)

Учтите, что это только примеры и необходимо адаптировать код под свои нужды.