Как разрешить модель pydantic, которая не является сериализуемой в формате JSON [дубликат]Python

Программы на Python
Anonymous
Как разрешить модель pydantic, которая не является сериализуемой в формате JSON [дубликат]

Сообщение Anonymous »

У меня есть модели ниже pydantic.

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

class SubModel(BaseModel):
columns: Mapping
key: List[str]
required: Optional[List[str]]

class Config:
anystr_strip_whitespace: True
extra: Extra.allow
allow_population_by_field_name: True

class MyModel(BaseModel):
name: str
config1: Optional[SubModel]
config2: Optional[Mapping]
class Config:
anystr_strip_whitespace: True
extra: Extra.allow
allow_population_by_field_name: True
Когда я пытаюсь сделать дамп, я получаю, что модель не сериализуется в формате JSON

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

from io import BytesIO
from orjson import dumps

bucket = s3.Bucket(bucket_name)
bucket.upload(BytesIO(dumps(data)), key, ExtraArgs={'ContentType': 'application/json'})
Ошибка –

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

TypeError: Type is not JSON serializable: MyModel
— это обычный словарь Python с одним из элементов типа MyModel. Пытался использовать .json(), но у get dict нет атрибута json.
Я здесь застрял. Может кто-нибудь мне помочь.

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

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