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

Резултати

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

Пребарај: #unv

当前筛选 #unv清除筛选
Opportunities with Zula

@opportunities_zula · Post #582 · 20.11.2025 г., 14:47

Become a United Nations 🇺🇳 Volunteer (UNV is Recruiting) Apply: https://opportunitiescorners.com/un-volunteer-program/ UNV is recruiting Volunteers from around the World. The UN Covers Allowance, Accommodation, Meals, Insurance, Travel Expenses, Visa Cost. #UNV#OpportunitiesCorners

Opportunities with Zula

@opportunities_zula · Post #1868 · 17.04.2026 г., 17:50

United Nations 🇺🇳 International Volunteer Program 2026 Apply: https://opportunitiescorners.com/united-nations-volunteer-program-2026/ The International Volunteer Program is open to applicants from any country. Volunteers will receive Living Allowance to cover all the expenses. #OpportunitiesCorners#Volunteer#UNV

Opportunities with Zula

@opportunities_zula · Post #1070 · 23.01.2026 г., 11:12

United Nations Volunteer Program 2026 (Be a Part of UNV Program) Apply: https://opportunitiescorners.com/un-volunteer-program/ UNV is recruiting Volunteers from around the World. Types of Programs: 1) International Volunteer 2) National Volunteer 3) Online Volunteering The UN Covers Allowance, Accommodation, Meals, Insurance, Travel Expenses, Visa Cost. Credit: UNV © 2025. This post is for informational purposes only. Opportunities Corner Corner does not own or claim the opportunities shared. All details are taken from publicly available or official sources and may change at any time. Please verify all information through official websites. No copyright infringement is intended. #UNV#UnitedNations#Volunteering