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

Резултати

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

Пребарај: #confidence

当前筛选 #confidence清除筛选
StartupBase

@startupbaseuz · Post #4702 · 26.10.2024 г., 07:36

Uzbekistan is the right place now to look for growing your business - this message was given by many distinguished panelists at International partnership initiatives week. Only this year the number of companies with foreign capital, who decided to utilize these opportunities to grow their business increased by 250! You can also get the best tax regime upuntil 2040 for ITES companies, affordable talents and low cost of starting your business with the Zero Risk programme in the regions of Uzbekistan: https://outsource.gov.uz Guest Insights: 📌Boris Tadić - former president of Serbia: "Uzbekistan is one of the most #favorable countries for business operations and investments for European companies and IT firms." 📌Raimonds Vejonis - former president of Latvia: "The extension of #benefits for IT Park residents until 2040 will increase investor #confidence." 📌Hamadoun Toure - former head of ITU: “Uzbekistan has taken the leading position in the International Telecommunication Union’s ranking for the most #affordable internet prices.” 📌Akihiro Sakurai: "Uzbekistan has the #potential to supply 300,000 young specialists to the international IT market, generating high incomes." 📌Seán McEllin: “Uzbekistan is becoming the #ideal_location for major IT companies to open their regional offices.” With its forward-looking #digitalstrategy and #commitment to innovation, Uzbekistan is emerging as a dynamic regional hub for international businesses and tech #startups alike. Exciting times ahead for #partnerships and #growth! Uzbekistan is shaping up to be a vibrant regional hub, creating countless opportunities for innovation and foreign partnerships. Follow in Linkedin: https://www.linkedin.com/in/sherzod-shermatov/ #Uzbekistan#ITES#DigitalTransformation#GlobalBusiness#Investment