Ограничение подсказок типов Python значениями из кортежа

Один из моих методов принимает аргумент status, который используется в filter().

Этот аргумент относится к полю модели, определенному следующим образом :

STATUS_CHOICES = (
    (1, _("draft")),
    (2, _("private")),
    (3, _("published")),
)

class MyModel(Model):
    status = models.PositiveSmallIntegerField(_("status"), choices=STATUS_CHOICES, default=1)

Я хотел бы использовать подсказки типов Python, чтобы сделать его определение более ясным.

Возможно, я мог бы сделать что-то вроде :

def my_method(status: int):
   ...

Но статус должен быть включен в STATUS_CHOICES.

Можно ли сделать эту подсказку более ограничительной и ограничить ее значениями STATUS_CHOICES?

Вернуться на верх