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

Резултати

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

Пребарај: #ferrocarril

当前筛选 #ferrocarril清除筛选
Communia

@communia · Post #37090 · 28.09.2023 г., 15:40

#Francia. #PactoVerde, #ferrocarril y #CapitalismodeEstado al servicio del capital privado «Francia subvencionó a la empresa reinvirtiendo y garantizando que SNCF recuperara la deuda. Una deuda ligada también al hecho de que durante décadas nadie había pensado en invertir en transporte de mercancías. Los camiones circulaban entonces por todas las carreteras de Francia, un absurdo total que hacía intransitable el tráfico, dañando las carreteras y, por tanto, las infraestructuras. No es la mejor solución en términos ecológicos. Pero no importa, a nadie le importaba, especialmente a los principales jefes de la SNCF, Guillaume Pepy a la cabeza. De este modo habíamos permitido que el flete disminuyera. Ojo, distorsión de la competencia! ”. En consecuencia, el ministerio, asesorado por consultores que siempre buscan una nueva manera de desmantelar un buque insignia industrial, se dijo que la única solución era dividir en dos los transportes de SNCF y regalar a sus competidores una parte entera del lucrativo negocio de Fret SNCF. Por lo tanto, se podría prescindir de 23 flujos, es decir, de las 23 conexiones que mejor funcionan y que permiten combinar camión y ferrocarril. Una aberración que corre el riesgo de costar el puesto de trabajo a 500 trabajadores ferroviarios, ¡pero no importa porque la Comisión Europea lo pidió! La huelga de los trabajadores ferroviarios de Fret SNCF no sólo es legítima, sino que debería ocupar los titulares.» https://www.marianne.net/agora/les-signatures-de-marianne/natacha-polony-non-seulement-la-greve-de-fret-sncf-est-legitime-mais-elle-devrait-faire-les-gros-titres