Питон аннотации. Указать список с конкретными значениями
Я хочу указать аннотации для функции.
Я ожидаю на вход в параметре columns список из 3-х вариантов:
[time, user_id], [time], [user_id]
Моя ф-я:
def read_shown_user(user_id: int,
columns: List[Literal["time", "user_id"]],
cursor: pg_ext_cursor = None) -> list:
cursor = cursor or global_connection.cursor()
columns = columns or ['shown_id', 'time']
cursor.execute(f'SELECT {columns} FROM shown_users WHERE user_id = %s', (user_id,))
result = cursor.fetchall()
if result and len(columns) == 1:
result = [row[0] for row in result]
return result
Вот эту строку Pycharm мне не подсвечивает с данной анотацией (хотя значение c явно лишнее)
read_shown_user(tg_user_id=1, columns=['time', 'tg_user_id', 'c'])