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

Резултати

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

Пребарај: #purajagadnatha

当前筛选 #purajagadnatha清除筛选
Gusdurian.Net

@gusduriannet · Post #1914 · 31.01.2020 г., 08:57

*Ziarah Pemikiran Gus Dur #3* Rangkaian kali ini akan membedah buku Gus Dur berjudul *"Gus Dur Menjawab Perubahan Zaman"*. Gus Dur sebagai cendekiawan tidak bisa dilepaskan dari rasa kemanusiaan. Dalam buku ini, Gus Dur menjawab beragam isu agama dan negara yang sangat relevan untuk dijadikan wacana solusi perubahan zaman. Diskusi beda buku akan dilaksanakan pada: Hari : Sabtu,1 Februari 2020. Pukul : 15.00 - Selesai Lokasi : Gedung Santi Sasana, Pura Jagadnatha. Narasumber acara: 1. Savic Ali (Founder Islami.co) 2. I Nyoman Santiawan (Pengurus Parisada Hindu Dharma Indonesia DIY) Acara ini akan dimoderatori oleh Misni Parjiati (Aktivis Srikandi Lintas Iman) Silakan datang dan ajak teman terbaikmu. Kita belajar gagasan Gus Dur dan saling tukar pikiran. #SatuDekadeGusDur #Gusdurian #ZiarahPemikiranGusDur #PuraJagadnatha