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

Резултати

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

Пребарај: #guerracomercial

当前筛选 #guerracomercial清除筛选
Communia

@communia · Post #37854 · 15.01.2024 г., 19:15

La #UE entre la #guerracomercial y las desventajas de repatriar la producción para el capital https://elpais.com/economia/2024-01-12/bruselas-alerta-de-los-riesgos-del-repliegue-industrial-en-suelo-europeo-para-la-competitividad.html

Communia

@communia · Post #37464 · 01.11.2023 г., 09:27

#Petróleo. Las petroleras de #EEUU aumentan márgenes, las de la #UE reducen beneficios por inversiones en #PactoVerde que se han devaluado en el contexto de la #guerracomercial de #EEUU «El diferencial de valoración entre las firmas europeas y las americanas se explica, según Citi, sobre todo por "el mercado en el que están listadas", con las firmas europeas establecidas en un mercado "con un coste de capital más alto ya que los inversores europeos no quieren petróleo y gas, y además han invertido entre un 20% y un 40%de su capital en la transición energética, que ha perdido valor en los últimos dos años", avisa el banco.» https://www.eleconomista.es/mercados-cotizaciones/noticias/12512477/10/23/el-beneficio-previsto-de-las-grandes-petroleras-crece-un-75-desde-junio.html Repsol intenta escapar por la tangente llevando inversiones hacia los combustibles sintéticos https://www.lavozdegalicia.es/noticia/economia/2023/10/30/repsol-congela-inversion-planta-industrial-producir-combustible-sintetico-haya-estabilidad-regulatoria/00031698668068623879436.htm

ПретходнаСтраница 1 од 3Следна