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

Пребарај: #technologyindustry

当前筛选 #technologyindustry清除筛选
Crypto M - Crypto News

@CryptoM · Post #64608 · 09.04.2026 г., 10:31

🚀 Allwinner Technology Projects Significant Profit Growth for Q1 2026 Allwinner Technology has announced its financial projections for the first quarter of 2026, expecting net profits attributable to shareholders to range between 1.95 billion yuan and 2.2 billion yuan. According to Jin10, this represents a year-on-year increase of 112.99% to 140.30%. Excluding non-recurring gains and losses, net profits are projected to be between 1.9 billion yuan and 2.16 billion yuan, marking a growth of 238.21% to 284.49% compared to the same period last year. During the reporting period, the company adjusted its product sales prices in response to rising costs of upstream raw materials and packaging. Additionally, Allwinner Technology has been actively expanding its product lines and promoting the mass production of new products. The anticipation of price increases has also led downstream customers to increase their stockpiling. These factors have contributed to an approximate 45% year-on-year growth in operating revenue, which in turn has driven the increase in net profits. #AllwinnerTechnology#ProfitGrowth#Q12026#FinancialProjections#RevenueIncrease#NetProfit#TechnologyIndustry#BusinessGrowth