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

Пребарај: #crianza

当前筛选 #crianza清除筛选
Communia

@communia · Post #37353 · 23.10.2023 г., 07:13

#Cultura. #Decadencia. #SaludMental#Francia ¿Todos autistas? «¿Qué tienen en común este joven que habla interminablemente de batallas napoleónicas pero que nunca ha podido entablar una sola amistad, el niño intelectualmente deficiente, el adulto incapaz de organizarse en el día a día pero exitoso en su trabajo como informático? ¿O incluso esta madre de cuatro hijos, un poco rígida y de personalidad ansiosa? Todos ellos, reconocidos por un psiquiatra, fueron diagnosticados con autismo.» https://www.marianne.net/societe/education/demain-tous-autistes-ce-que-la-multiplication-des-cas-implique-pour-lavenir-de-lecole-et-de-la-societe Mientras a los niños con problemas de frustración y estrategias de dominación debidos a una familia que no les da vías de aporte ni responsabilidades propias de su edad pero «negocia» adjudicándole responsabilidades de los padres, se les diagnostica como si estuvieran enfermos de «transtorno negativista desafiante»... es decir, se exonera a los padres de dar una #crianza decente https://childmind.org/es/articulo/que-es-el-trastorno-negativista-desafiante-2