TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

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

Резултати

Пронајдени 8 слични објави

Пребарај: #vertus

当前筛选 #vertus清除筛选
Airdrop Center

@centralchanel · Post #15953 · 10.01.2025 г., 15:25

#Vertus normal quests for Vertus has become stable. To do the Make Transfer quest, you can develop the lowest level card from card developments with tons. (Very low amount.) When this process is completed, you will have done all the quests. However, this quest takes time to complete. You have the right to choose 4 stock exchanges.

Hashtags

Airdrop Gold : Crypto Airdrop

@airdropgoldchannel · Post #157677 · 23.09.2024 г., 17:13

💵 List of projects that will have #Airdrop in 2024. The list is not complete and will be constantly updated. ✔️#Gamee - 23 September 2024 ✔️ Rocky Rabbit - September 23, 2024 ✔️#hamsterkombat - September 26, 2024 ✔️#Major - October 1, 2024 ✔️#TonStation - October 6, 2024 ✔️#MemeFi - October 9, 2024 ✔️ X Empire - October 15, 2024 ✔️#Cats - October 2024 ✔️#TapCoins - October 2024 ✔️#Tomarket - October 2024 ✔️#SEED - November 2024 ✔️#Time Farm - November 2024 ✔️CEX.IO - December 2024 ✔️#Blum - Q4 2024 ✔️#Vertus - Q4 2024 💎 Share it By @Airdropgoldchannel Join Channel at once https://t.me/addlist/W62NCEpw6WoyY2Q0