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

Резултати

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

Пребарај: #salarios

当前筛选 #salarios清除筛选
Communia

@communia · Post #37378 · 24.10.2023 г., 07:04

#EEUU. Buscando como contar en positivo las supuestas ventajas de la ruptura del mercado mundial y las ineficiencias brutales de la #DivisiónInternacionaldelTrabajo surgida de la #guerracomercial y la #guerratecnológica. #Clave «Los últimos cinco años, que han estado caracterizados por una pandemia, la guerra en Ucrania y las secuelas de ambas, señalan el fin de una economía que se basaba en todo barato: dinero barato, energía barata y mano de obra barata. Todo eso se va o se va. Se acabó una década y media de especulaciones sobre go-go. La era de lo barato está kaput.» El cinismo es acongojante «Un costo de capital más alto será doloroso temporalmente, pero dará a los mercados lo que han necesitado durante años: una razón para que los inversores separe las inversiones riesgosas (como algunas acciones de tecnología de consumo y memes) de otras más seguras (las industrias beneficiarse de un auge manufacturero)» (Porque no va de succionar capital del resto del mundo, no.... que se lo digan a los #paísesemicoloniales y la #UE) «La energía barata también se acabó. Un resultado de la invasión rusa de Ucrania es la comprensión (especialmente en Europa) de que obtener productos básicos cruciales de los autócratas nunca es una buena idea.» (Porque #Azerbaiyán o #Turkmenistán o #Argelia o #Venezuela son estados inclusivos y super amables, obviamente) «Finalmente, la era de la mano de obra barata ha terminado. Los salarios están aumentando y hemos visto más actividad laboral , incluidas huelgas, este año que en las últimas cuatro décadas. Seguirán más. Esta es una respuesta apropiada a décadas de estancamiento salarial en medio de ganancias corporativas récord. » Porque los #salarios aumentan, claro... que lo hagan menos que la #inflación debe ser un detalle sin importancia https://www.washingtonpost.com/opinions/2023/10/23/energy-money-cheap-era-ending/