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

Пребарај: #wangyi

当前筛选 #wangyi清除筛选
Marx21.it

@marx21news · Post #9989 · 18.03.2026 г., 14:03

La Cina all’ONU: "Le armi sono strumenti infausti, fermate subito l'operazione militare contro l'Iran" Il ministro degli Esteri cinese Wang Yi ha usato un antico proverbio per commentare l'escalation in Medio Oriente: «Le armi sono strumenti infausti e non dovrebbero essere usate senza discernimento». Nel corso di una conferenza stampa, Pechino ha condannato l'operazione militare congiunta di USA e Israele contro l'Iran, lanciando un appello accorato per un cessate il fuoco immediato e una soluzione politica. Wang Yi ha ribadito cinque punti chiave per la pace: - Rispetto della sovranità nazionale (Iran e Paesi del Golfo) - Rifiuto dell'abuso della forza - Non interferenza negli affari interni - Soluzione politica attraverso il dialogo - Ruolo costruttivo delle grandi potenze «La forza non offre soluzioni – ha dichiarato – e i conflitti armati non fanno che aumentare l'odio». In un momento così critico, la Cina si propone come partner per la stabilità, invocando il ritorno al tavolo dei negoziatori. La comunità internazionale può ancora scegliere la via della saggezza. #Cina#Iran#MedioOriente#Pace#Diplomazia#WangYi#PoliticaEstera https://www.marx21.it/internazionale/le-armi-sono-strumenti-infausti-e-non-dovrebbero-essere-usate-senza-discernimento-wang-yi-ricorre-a-un-antico-detto-cinese-per-commentare-loperazione-militare-usa-israele-contro-l/