Параметр by_alias в model_dump() игнорируетсяPython

Программы на Python
Гость
Параметр by_alias в model_dump() игнорируется

Сообщение Гость »

В следующем коде мы видим, что поле id действительно создается с псевдонимом user_id, когда мы печатаем model_fields.
Однако, когда я затем вызываю model_dump(alias=True), возвращаемый dict имеет ключ id, но не имеет ключа user_id, как я ожидал.
Это ошибка или я что-то упускаю?
Возможно, это связано с alias_priority=2, но это не так похоже, является параметром в поле SQLModel, только в Pydantic.
from uuid import UUID, uuid4

from sqlmodel import Field, SQLModel

class Temp(SQLModel, table=True):
id: UUID = Field(default_factory=uuid4, primary_key=True, alias="user_id")

t = Temp()

print(t.model_fields)
print(t.model_dump(by_alias=True))

Результат:
{'id': FieldInfo(annotation=UUID, required=False, default_factory=uuid4, alias='user_id', alias_priority=2)}
{'id': UUID('1c8db668-be5c-4942-b494-ef69cbc0ef3a')}


Источник: https://stackoverflow.com/questions/781 ... ng-ignored

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