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

Пребарај: #kalama

当前筛选 #kalama清除筛选
Addis Standard

@addisstandardeng · Post #21175 · 24.01.2026 г., 09:23

News: USDA purchases #US wheat to support agricultural development in #Ethiopia and #Kenya The United States Department of Agriculture (#USDA) has purchased 183,700 metric tons of U.S. hard red winter (HRW) wheat to support agricultural development projects in Ethiopia and Kenya, according to the U.S. Wheat Associates (USW). The purchase, made in mid-January by the USDA’s Foreign Agricultural Service (FAS), marks the first U.S. wheat procurements under the Food for Progress program for the 2025 fiscal year. The wheat will be delivered in four cargoes—three from #Houston, #Texas, and one from #Kalama, #Washington—destined for the two #East_African countries. Food for Progress is a U.S. government program that provides agricultural commodities to support food security and development in partner countries. Under the program, donated food commodities are sold locally,.... https://web.facebook.com/AddisstandardEng/posts/pfbid0qv13B87UsJgyuNpxxeB8Be2fj41XGjLZ1aRCDYLc85AGHGZ3hrMK9QRFKRDiQDcal