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

Пребарај: #foodreserve

当前筛选 #foodreserve清除筛选

ሩስያ በብሪክስ ሀገራት መካከል የጋራ የመጠባበቂያ ምግብ ክምችት ዘዴ እንዲመሠረት ሐሳብ አቀረበች *********************** በዓለም አቀፍ ደረጃ እየታየ የመጣውን የምግብ ዋስትና ስጋት ለመቀነስ እና የገበያ መረጋጋትን ለመፍጠር ሩስያ በብሪክስ ሀገራት እና በቀጣናዊ አጋሮች በጋራ የሚመራ የመጠባበቂያ ምግብ ክምችት ዘዴ እንዲመሰረት የሚያስችል ሐሳብ አቀረበች። የሩስያ የደህንነት ምክር ቤት ከፍተኛ ባለስልጣን እንደገለጹት፤ በአሁኑ ወቅት በዓለም አቀፍ ደረጃ እየተስተዋለ ያለው የነዳጅ እና የማዳበሪያ ምርት አቅርቦት መስተጓጎል በግብርናው ዘርፍ ላይ እያሳደረው ያለውን ጫና ለመቋቋም በአጋር ሀገራት መካከል ጠንካራ ቅንጅት መፍጠርን አስፈላጊ አድርጎታል። በተለይም በመካከለኛው ምስራቅ ያገረሸው ግጭት የማዳበሪያ ንግድ ዋነኛ መስመር የሆነው የሆርሙዝ የባሕር ወሽመጥ እንዲዘጋ በማድረጉ፣ ለሰብል ምርታማነት ወሳኝ በሆነው የማዳበሪያ አቅርቦት ላይ ከፍተኛ ተጽእኖ ማሳረፉ ተመልክቷል። ሩስያ ይህን ስጋት በዘላቂነት ለመቀነስ የጋራ የመጠባበቂያ ምግብ ክምችት ዘዴ እንዲኖር ሐሳብ ያቀረበች ሲሆን፣ በተጨማሪም እ.አ.አ እስከ 2030 ድረስ የግብርና ምርት ወጪ ንግዷን በ50 በመቶ በማሳደግ በዓለም አቀፍ የምግብ አቅርቦት ሰንሰለት ውስጥ ተምትጫወተውን ቁልፍ ሚና ይበልጥ ለማጠናከር በቁርጠኝነት እየሠራች መሆኑን አስታውቃለች። በሰለሞን ገዳ #Russia#BRICS#FoodReserve#FoodSecurity#EBC