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

Резултати

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

Пребарај: #a13

当前筛选 #a13清除筛选
Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #11 · 09.11.2023 г., 03:38

¡New build available! #A13#CLO#diting Code Name:diting Device:Xiaomi 12T Pro File Name:xperience-17.1.0-20231007-NIGHTLY-diting.zip File Size:3.1G MD5SUM:a8cf9c327fadb27d55a2720b92f060aa Downloads: SourceForge | Pling Maintainer:@TeamMEX_XDA (Kισżż) Changelog: - System: Update translations - System: Performance improvements - System: hotfix fixup fod - System: Final A13 Notes: Probably APTX adaptive broken If you like this project and have found it useful please consider supporting us by making a donation via PayPal. Donate PayPal

Xiaomi 12T Pro | K50U | Updates

@xiaomi_12tpro_updates · Post #14 · 10.11.2023 г., 01:58

#crDroid#Unofficial#diting#A13 Crdroid 9.10 UNOFFICIAL | Android 13 Updated: 05-11-2023 ▪️Download ▪️Support Changelog: • Initial Vendor OSS Build Credits: Thanks to @TeamMEX_XDA for providing dt By@Mohammadnt96 Follow@xiaomi_12tpro_updates Join@xiaomi_12tpro_chat

Nothing Phone (2) | Updates

@NothingPhone2Updates · Post #199 · 30.11.2023 г., 14:07

arter97 Kernel | A13 | Nothing Phone (2) 📝 Details: - Version: r1 (#A13 supported) - Type: #Kernel - Status: #Stable - Codename: #Pong - Released: 30/11/23 ⬇️ Download: Normal & KSU Version 🎙 Support Group: Here 🏛 XDA Thread : Here (for more info and older changelogs) 🏷Tags : #Stock#Kernel#arter97#T ✨Changelogs: (r1) - First stable release - Switched to LLVM 17.0.6 compiler - LA.VENDOR.1.0.r2-07200-WAIPIO.QSSI13.0 merged - LRNG v52 random driver added (improves RNG performance by 30%) ✍️ Note: - Android 14 (NOS 2.5) is not supported! 👤 Maintainer : @arter97 🔔 Updates : @NothingPhone2Updates 🐙 Chat : @NothingPhone2