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

Пребарај: #cittadinanza

当前筛选 #cittadinanza清除筛选
Savino Balzano

@savinobalzano · Post #757 · 25.09.2024 г., 15:00

https://x.com/SavinoBalzano/status/1838956477412671791?t=7zr8BT_F7_hp0I-qp5fG1A&s=19 Si esulta perché il #coraggio e l'#amore hanno prevalso sull'#odio e la #paura: raggiunte le 500 mila firme per il #ReferendumCittadinanza. Bene. Domandina per quelli buoni, per gli esponenti del #PD, ad esempio: se la normativa attuale è vergognosa (peraltro fu Amato, nel 1992, a introdurla) e manifestazione di odio e paura, perché non l'avete mai modificata nei vostri lunghissimi anni di #governo? Si, perché il Partito Democratico - nonostante non abbia mai vinto le elezioni - è praticamente sempre stato in maggioranza (forse, "democratico" solo di nome). Chi vi ha impedito di far prevalere in quei lunghi anni l'amore e il coraggio? di tempo per spazzare via odio e paura ne avete avuto moltissimo in effetti. Le nostre regole sulla #cittadinanza non ci hanno impedito (dati Eurostat 2022) di piazzarci al quinto posto per cittadinanze concesse in rapporto alla popolazione. Inoltre, nel 2019, Migration Policy Group attestava che ottenere la cittadinanza italiana fosse più facile che ottenere quella spagnola e che la difficoltà di ottenere la tedesca fosse assai simile alla nostra. In effetti, molto più semplice era ottenere la francese e abbiamo visto cosa ha comportato in termini di cattiva integrazione e instabilità sociale. Occhio poi a un fatto: la nostra normativa in materia di ricongiungimento familiare è piuttosto semplificata e l'allargamento della concessione della cittadinanza deve essere ponderato anche in considerazione di questo aspetto. La contraddizione di fondo è però un'altra: la #sinistrucola ci deve spiegare, oltre a dare ai migranti un bel pezzo di carta, cos'altro voglia offrire loro: caporalato? sfruttamento? precarietà? Come le integriamo, dignotosamente, tutte queste persone, con quali risorse? Soprattutto se nel frattempo si continua ad applaudire a un'#UE che insiste nel chiedere un poderoso taglio alla spesa pubblica. La questione riguarda tutti, dal momento che chi non riesce ad integrarsi rischia di dover delinquere per sopravvivere e di insicurezza ne patiamo già troppa. Voi che siete quelli buoni e coraggiosi, fateci sapere che tocca fare. Altrimenti? Altrimenti avremo contato più di 500 mila ipocriti. La mia a #5Notizie, #RadioCusanoCampus.