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

Пребарај: #betelgeuse

当前筛选 #betelgeuse清除筛选
Universe Mysteries 🪐

@cosmomyst · Post #553 · 12.12.2025 г., 12:21

🪐 When astronomers observe a star like Betelgeuse in the constellation Orion, the light reaching Earth has traveled 642 years—limited by the constant speed of light, which is 299,792 kilometers per second. This means we never see stars as they are now, but as they were centuries or even millennia ago, so every starlit night is filled with messages from the deep past of our universe. ✨ #speedoflight⚡#betelgeuse⚡#spacedistances⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries 👉more Channels ​

#ДарьяДугина#ДарьяПлатонова#Betelgeuse#ОтецДарьиДугиной Памяти Дарьи Дугиной. Кавер на Beteleuse и DASEIN MAY REFUSE. Качество lo-fi, зато с душой и сердцем. С любовью, ВорКоров и Саша Темнолесова.

Universe Mysteries 🪐

@cosmomyst · Post #305 · 20.09.2025 г., 22:21

🪐 Betelgeuse, a red supergiant star about 642 light-years from Earth, is nearing the end of its life and will eventually explode as a supernova—a titanic stellar explosion. Supernovae like this release more energy in a few weeks than our Sun will in its entire 10-billion-year lifespan, scattering heavy elements like iron and gold into space to help form new stars and planets. ✨ #supernovae⚡#betelgeuse⚡#stardust⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space 👉subscribe Universe Mysteries ​