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

Пребарај: #digitalregistration

当前筛选 #digitalregistration清除筛选

ለ7ኛው ጠቅላላ ምርጫ የመራጮች ምዝገባ የሚከናወንባቸው ሦስት ዘመናዊ አማራጮች ***************** ለ7ኛው ጠቅላላ ምርጫ የሚከናወነው የመራጮች ምዝገባ የቴክኖሎጂ አጠቃቀምን ባገናዘበ መልኩ በሦስት ዋና ዋና አማራጮች እንደሚከናወን ቦርዱ አስታውቋል። የመጀመሪያው አማራጭ መራጮች በተለመደው አሠራር በአካል በምርጫ ጣቢያ በመገኘት ምዝገባ የሚያከናውኑበት መደበኛ ሂደት ነው። ከዚህ በተጨማሪም የኢትዮጵያ ብሔራዊ ምርጫ ቦርድ የምዝገባ ሂደቱን ይበልጥ ቀልጣፋ ለማድረግ 'ምርጫዬ' የተሰኘ አዲስ የሞባይል መተግበሪያ በቅርቡ ተደራሽ ያደርጋል። መራጮች ይህንን መተግበሪያ ከፕሌይ ስቶር (Play Store) ወይም ከአፕ ስቶር (App Store) በማውረድ ባሉበት ሆነው ራሳቸውን መመዝገብ የሚችሉ ሲሆን፥ ለዚሁ አገልግሎት የተዘጋጀውን የዌብ አማራጭ ሊንክም በቦርዱ ድረ-ገጽ ላይ ማግኘት ይቻላል። ሦስተኛው አማራጭ ደግሞ በምርጫ ጣቢያዎች በሚገኙ የምርጫ አስፈጻሚዎች እገዛ በታብሌት (Tablet) የሚከናወን የዲጂታል ምዝገባ ሂደት መሆኑ ተገልጿል። በምርጫ ጣቢያም ሆነ በግል ስልክ የሚከናወኑት የዲጂታል ምዝገባ አማራጮች ተፈጻሚ የሚሆኑት ቦርዱ የኢንተርኔት ተደራሽነትን መሠረት በማድረግ ይፋ በሚያደርጋቸው የተወሰኑ አካባቢዎች ላይ ብቻ መሆኑ ታውቋል። በቦርዱ የጊዜ ሰሌዳ መሰረት የመራጮች ምዝገባ ከየካቲት 28 ቀን 2018 ዓ.ም ይጀመራል። #Ethiopia#Election2018#DigitalRegistration#NEBE#EthiopianElection#NewsUpdate