Сериализация полей даты в PydanticPython

Программы на Python
Anonymous
Сериализация полей даты в Pydantic

Сообщение Anonymous »

Можно ли с помощью Pydantic V2 указать формат даты, который будет использоваться для сериализации для любого поля даты в модели? Для контекста: у меня есть класс базовой модели, назовем его CustomBaseModel, и он наследуется от BaseModel от Pydantic. Я хочу иметь возможность указать универсальный формат для сериализации любых полей даты в моделях дочерних классов. Поскольку у CustomBaseModel будет много дочерних классов, я не могу просто использовать «@field_serializer», поскольку поля не определены в базовом классе. В настоящее время я могу сделать это, используя kwarg json_encoders ConfigDict модели, но он устарел и будет удален в будущем. Я пытался сделать это с помощью «@model_serializer», но тогда генераторы псевдонимов обходили. Мне любопытно услышать, что другие могли сделать для достижения этого. Полагаю, я мог бы вручную вызвать генератор псевдонимов для каждого поля функции «@model_serializer», но надеюсь, что есть более простой способ сделать это.
class CustomBaseModel(BaseModel):
# specify the date format here
pass

class ChildClassModel(CustomBaseModel):
created_at: date
updated_at: date
# I want these dates, and date fields on any other model that inherits from
# CustomBaseModel, to all be serialized as %Y-%m-%d


Подробнее здесь: https://stackoverflow.com/questions/790 ... ialization

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