Различать класс и объект в подсказках типа Python - PullRequest
0 голосов
/ 10 января 2020

Django * post_save сигнал отправляет аргумент класса модели - sender - вместе с сохраняемым экземпляром - instance.

Есть ли способ провести различие между двумя подсказками типа?

Пример

У нас есть модель User, и мы хотели бы создать сигнал post_save:

# …
@receiver([post_save], sender=User)
def send_activation_email(
    sender: User, 
    instance: User, 
    # …
) -> None:
    # …

Как Вы видите, я дал и sender и instance подсказку одного типа - User. Но они не одного типа. Первый - это класс, а второй - объект. Итак, есть ли способ разграничить два?

...