__set_name__(self, owner, name) вызывается во время создания класса и сообщает дескриптору имя атрибута, к которому он привязан.
Пример
class Field:
def __set_name__(self, owner, name): self.name = name
Разбор
Суммируя:
__set_name__ инициализирует дескриптор контекстом класса.
- Он позволяет создавать многоразовые валидаторы полей.
- Он запускается один раз во время создания класса.
Итог
__set_name__(self, owner, name) вызывается во время создания класса и сообщает дескриптору имя атрибута, к которому он привязан.