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

Резултати

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

Пребарај: #redesign

当前筛选 #redesign清除筛选
RedFox Branding

@redfoxuz · Post #1796 · 29.03.2023 г., 06:32

@redfoxuz / #rebranding#redesign Bozor.com logotipi yangilandi O'zbekistondagi oziq ovqat sotuvi bilan shullanuvchi Bozor.com internet do'konini logotipini redizayn qildik. Logoni redesign qilishda tajribali dizaynerimiz Dinora Choriyeva ijod qildi. Loyiha ustida ishtirok etgan mutaxassislarimiz: Shahzoda Norqo'ziyeva Nargiza Miryusupova

RedFox Branding

@redfoxuz · Post #1751 · 25.10.2022 г., 09:36

@redfoxuz / #rebranding#redesign Youtube o'zing dasturini dizaynini barcha platformalarda yangiladi Asosiy o'zgarishlardan "Dark Theme"da endi qora rang ishlatilinadi, undan tashqari "Ambient mode" qo'shilgan.

RedFox Branding

@redfoxuz · Post #1743 · 23.08.2022 г., 08:06

@redfoxuz / #rebranding? #redesign! 💸Yandex.ru endiya.ru. Yandex o'zining asosiy sahifasini yangiladi, "vk" bilan "Yandex Yangiliklar" va "Dzen"ni "Delivery Club"ga alishishgandan so'ng, yandex asosiy sahifasidan ortiqcha detallardan voz kechib minimal dizaynga o'tdi. Yangi dizayn Google'ni asosiy sahifasidan yaxshimi? 🤔

A.svg

@Apollosvg · Post #25 · 07.11.2022 г., 04:01

Recently, YouTube rolled out an update simultaneously on the web and in the app. You can see the tendency to round thing extremely (funny, around the same time, similar "rounded update" came out for VK ⚹¹). In addition to rounding, there are also useful features: video scaling and more accurate playback ⚹². By the way, there's a study about why rounded objects are more pleasant for us ⚹³. #redesign#practice ⚹ youtu.be

12
ПретходнаСтраница 1 од 2Следна