Исправление masa, (текущая версия) :
По-моему, в твоем случае когда у тебя стабильная схема таблицы в бд, нужно описать в модели пидантика все поля как они есть в модели алхимии - проблема решена.
Если есть какие-то динамические поля, которые можно произвольно создавать и у тебя postgres можно хранить их в колонке user.extra_fields с типом jsonb прям в json и отдавать/сохранять его как есть.
class UserField(BaseModel): # create and update
id: Optional[int]
name: str
value: str
class User(BaseModel):
id: Optional[int]
login: str
password: str
description: Optional[str]
fields: List[UserField]
Исходная версия masa, :
По-моему, в твоем случае когда у тебя стабильная схема таблицы в бд, нужно описать в модели пидантика все поля как они есть в модели алхимии - проблема решена.
Если есть какие-то динамические поля, которые можно произвольно создавать и у тебя postgres можно хранить их в колонке user.extra_fields с типом jsonb прям в json и отдавать/сохранять его как есть.
class UserFieldType(BaseModel): # create and update
id: Optional[int]
name: str
type: str
class User(BaseModel):
id: Optional[int]
login: str
password: str
description: Optional[str]
fields: List[UserFieldType]