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

Пребарај: #ssn

当前筛选 #ssn清除筛选
Man in America 🇺🇸

@maninamerica · Post #2906 · 16.02.2025 г., 15:21

FALSE: this does not debunk any myth. If there are dates missing from social security records that means we don't know. The missing dates seem even more suspicious to me... why are so many missing? #SSN#Truth 🪓@AttorneyThomas

Hashtags

Savino Balzano

@savinobalzano · Post #830 · 29.11.2024 г., 14:05

https://x.com/SavinoBalzano/status/1862495129740714239?t=wrTMSCyGVhrBwkE8c_2zbQ&s=19 Oggi sono stato ospite di Aldo Pecora su Radio1Rai e abbiamo parlato di #lavoro e di #ScioperoGenerale. Il #Sindacato ha bisogno di recuperare credibilità: la sua postura tende a cambiare a seconda di chi governa e questo non è serio. Inoltre si dovrebbero scegliere meglio i "compagni" di piazza: non mi sembra ragionevole protestare contro la manovra, rivendicare la #SanitàPubblica, insieme a chi ha falcidiato il #SSN facendogli mancare circa 40 miliardi in 10 anni; non mi sembra convincente protestare contro la #precarietà, insieme a quelli che hanno ideato e realizzato il #JobsAct. Inoltre, in #piazza si guarda il dito e non la luna: se non mettiamo seriamente in discussione le regole dell'#EuroZona, i soldi per rinnovare i contratti non ce li avrà mai nessuno. #radio#rai1