TeamUser(User): ...
# Accepts User, BasicUser, ProUser, TeamUser, ...
def make_new_user(user_class: Type[User]) -> User:
# ...
return user_class()
я что-то не понимаю или pycharm тупит?:
Если сравнивать с докой, то у меня в параметре ф-ции вместо класса - датакласс.
Pycharm не видит атрибутов при инит.
Или нужно через: U = TypeVar('U', bound=User)
def new_user(user_class: Type[U]) ???
Ну вообще это некорректно. Ты передаешь тип, а это значит можно передать любой дочерний тип тоже. А там инит может быть какой угодно
блин, точняк... хм, а как быть? указывать через Union конкретных наследников?
Обсуждают сегодня