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 слични објави

Пребарај: #mofa

当前筛选 #mofa清除筛选
Addis Standard

@addisstandardeng · Post #21089 · 16.01.2026 г., 07:31

News: #Ethiopia, #India agree on visa-free travel for diplomats, say work has begun on sensitive foreign ministry data center Ethiopia and India have signed an implementation agreement granting mutual visa-free travel for holders of diplomatic passports and announced that work has begun on a highly sensitive data center project for Ethiopia’s Ministry of Foreign Affairs (#MoFA), underscoring a deepening of bilateral cooperation. The agreement on the exchange of diplomatic notes was signed on January 15, 2025, at the Indian Embassy in Addis Abeba by Anil Kumar Rai, Ambassador of India to Ethiopia and Permanent Representative to the African Union, and Ambassador Dewano Kedir, Director General for Middle East, Asia, and Pacific Affairs at Ethiopia’s Ministry of Foreign Affairs. Ambassador Rai confirmed that work on the data center for Ethiopia’s Ministry of Foreign Affairs is already underway. “The data center for the Ministry of Foreign Affairs will be .... Read more: https://addisstandard.com/?p=54595

Vet_opportunities

@vet_opportunities · Post #63 · 19.07.2025 г., 07:15

➡️ውጭ ጉዳይ ሚኒስቴር 𝐂𝐚𝐥𝐥 𝐅𝐨𝐫 𝐕𝐨𝐥𝐮𝐧𝐭𝐞𝐞𝐫𝐬! 🔗https://forms.gle/34PxUgPV2bgcZCbU9 #MOFA#Volunteers #JOIN#Share ማድረጋችሁን አትርሱ👇👇 @vet_opportunities @vet_opportunities