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

Резултати

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

Пребарај: #prohibition

当前筛选 #prohibition清除筛选
Venture Village Wall 🦄

@venturevillagewall · Post #3886 · 15.01.2025 г., 19:00

BitMEX Fined $100M for AML Violations Judge John Koeltl sentenced HDR Global Trading (BitMEX) to two years of unsupervised probation and a $100 million fine for violating the U.S. Bank Secrecy Act. This follows BitMEX's guilty plea for failing to implement an effective Anti-Money Laundering program. Read more here: link #BitMEX#AML#Crypto#US#BankSecrecyAct#Finance#Prohibition

Google Facts™ [ ️@googlefactss🌎]

@googlefactss · Post #40656 · 14.02.2026 г., 07:04

The Valentine Massacre happened on February 14, 1929, in Chicago. Seven gang members were shot and killed. It is believed Al Capone’s gang was involved, but no one was proven guilty. The case is still unsolved. 🔫🕵️‍♂️ ⚠️Warning, the following links may contain graphic contents, watch at your own risk.⚠️ [Read more1] [Read more2] [Read more3] @googlefactss #History#Chicago#GangViolence#Prohibition#TrueCrime