@cocinarparacuatro · Post #562 · 29.05.2022 г., 16:48
Tiramisú #postresydulceshttps://youtu.be/EUQjWZil3QM
Hashtags
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #397 · 12 ное.
Использование Pydantic сегодня стало нормой, и это правильно. Но иногда на ревью вижу, что используют его не всегда корректно. Например, метод BaseModel.model_dump() по умолчанию не преобразует стандартные типы, такие как datetime, UUID или Decimal, в простой сериализуемый для JSON вид. Тогда пишут кастмоный сериализатор для этих типов чтобы функция json.dump() не падала с ошибкой. import uuid from datetime import datetime from decimal import Decimal from uuid import UUID from pydantic import BaseModel class MyModel(BaseModel): id: UUID date: datetime value: Decimal obj = MyModel( id=uuid.uuid4(), date=datetime.now(), value='1.23' ) print(obj.model_dump()) # не подходит для json.dump # { # 'id': UUID('4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1'), # 'date': datetime.datetime(2025, 12, 12, 12, 12, 12, 111111), # 'value': Decimal('1.23') # } # добавляем свой кастомный сериализатор json.dumps(obj.model_dump(), cls=MySerializer) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2025-12-12T12:12:12.111111', # 'value': '1.23' # } В данном случае класс MySerializer обрабатывает datetime, UUID и Decimal. Например так: class MySerializer(json.JSONEncoder): def default(self, o): if isinstance(o, Decimal): return str(o) elif isinstance(o, datetime): return o.isoformat() elif isinstance(o, UUID): return str(o) return super().default(o) Специально для тех, кто всё еще так делает - в этом нет необходимости! Pydantic может это сделать сам, просто нужно добавить параметр mode="json". json.dumps(obj.model_dump(mode="json")) # { # 'id': '4f8c1bc4-25fd-40cd-9dbe-2c73639b0dc1', # 'date': '2012-12-12T12:12:12.111111', # 'value': '1.23' # } #pydantic#libs
Пребарај: #postresydulces
@cocinarparacuatro · Post #562 · 29.05.2022 г., 16:48
Tiramisú #postresydulceshttps://youtu.be/EUQjWZil3QM
Hashtags
@cocinarparacuatro · Post #558 · 18.05.2022 г., 10:30
Tarta de peras https://youtu.be/FYUzZyGPO5w#postresydulces
Hashtags
@cocinarparacuatro · Post #544 · 27.03.2022 г., 17:16
Tarta de nueces #postresydulceshttps://youtu.be/MZfuWQBR7Ok
Hashtags
@cocinarparacuatro · Post #539 · 15.03.2022 г., 17:35
Cake de limón #postresydulceshttps://youtu.be/gQJVzIPsCm4
Hashtags
@cocinarparacuatro · Post #481 · 03.10.2021 г., 07:39
Hojaldre con crema pastelera y fruta #postresydulceshttps://youtu.be/Rm6n5VUdVtM
Hashtags
@cocinarparacuatro · Post #480 · 30.09.2021 г., 10:57
Crema pastelera #postresydulceshttps://youtu.be/y8ldNAENWZA
Hashtags
@cocinarparacuatro · Post #474 · 16.09.2021 г., 18:44
Oreo cheesecake #postresydulceshttps://youtu.be/mAmIaULV0vc
Hashtags
@cocinarparacuatro · Post #468 · 02.09.2021 г., 16:56
Sopa fría de coco y fruta #postresydulceshttps://youtu.be/cWb79-hBxF8
Hashtags
@cocinarparacuatro · Post #463 · 15.08.2021 г., 10:31
Bizcocho de limón #postresydulceshttps://youtu.be/2Bc5EX59-cE
Hashtags
@cocinarparacuatro · Post #426 · 04.05.2021 г., 09:21
Crema catalana #postresydulceshttps://youtu.be/sgHjfnA4IRM
Hashtags
@cocinarparacuatro · Post #408 · 25.03.2021 г., 10:11
Pavlovas #postresydulceshttps://youtu.be/jeFEVER0vaM
Hashtags
@cocinarparacuatro · Post #395 · 25.02.2021 г., 09:41
Hojaldre con manzana #postresydulceshttps://youtu.be/yoz97LCFk9o
Hashtags