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

Пребарај: #squads

当前筛选 #squads清除筛选
MoonPlay

@moonplay_official · Post #36 · 21.06.2024 г., 18:32

Moon Squads Are Here! 👥 Attention, Space Cadets! We’re excited to unveil Moon Squads🌕, the ultimate way to supercharge your journey to the moon! These special groups are essential for setting up colonies and boosting mining efforts. Here’s everything you need to know: 🚀Joining or Creating a Squad Join a Squad: Follow an invite link from a squad leader or join one of the TOP squads from the leaderboard right in the app: Crew tab --> Squads. Create a Squad: Prefer to lead? Set up a squad of your own and invite others to join your mission. Flexibility: You can join or leave a squad anytime, but remember - the squad’s multiplier applies to your earnings 3 days after joining. 🔝Squad Ranks and Rewards Climb the Ranks: Rise through 5 squad ranks from Outpost to Citadel 1️⃣2️⃣3️⃣4️⃣5️⃣. Ranking up depends on the number of participants and the total Space Bucks mined by the squad Team Up: Ranks 2+ offer a squad multiplier that applies to each member’s mining per hour. Collaborate with friends and fellow cadets for greater rewards. Ready to join the adventure? Head to the Crew tab, join or create a squad, and start earning those Space Bucks. Together, we’ll conquer the cosmos! 🌠 Stellar adventures start here:@moon_land_bot🚀 Website | Telegram Chat | X | Discord | Medium #ToTheMoon#MoonPlay#ecosystem#blockchain#gamefi#web3#wenlisting#airdropsoon#communityfirst#taptap#clicker#game#squads#invitefriends