Есть ли обходной путь для «Переменная не разрешена в выражении типа» при использовании многоразовых сериализаторов pydanPython

Программы на Python
Ответить
Anonymous
 Есть ли обходной путь для «Переменная не разрешена в выражении типа» при использовании многоразовых сериализаторов pydan

Сообщение Anonymous »

Из документации pydantic: https://docs.pydantic.dev/latest/concep ... alization/# Which-serializer-pattern-to-use

Код: Выделить всё

from typing import Annotated

from pydantic import BaseModel, Field, PlainSerializer

DoubleNumber = Annotated[int, PlainSerializer(lambda v: v * 2)]

class Model1(BaseModel):
my_number: DoubleNumber

class Model2(BaseModel):
other_number: Annotated[DoubleNumber, Field(description='My other number')]

class Model3(BaseModel):
list_of_even_numbers: list[DoubleNumber]
Мой линтер (Pylance) жалуется: «Переменная не разрешена в выражении типа».
Есть ли какой-нибудь способ сделать это статически?
Могу ли я наследовать от Annotated (кажется, это невозможно) или что-то еще, чтобы DoubleNumber был классом, а не переменной?
Я хочу знать, можно ли это исправить, прежде чем отключать предупреждение.>

Подробнее здесь: https://stackoverflow.com/questions/798 ... en-using-p
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»