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

Пребарај: #pycharm

当前筛选 #pycharm清除筛选
QQ资源岛-破解软件分享

@QQZYDAPP · Post #4757 · 08.12.2025 г., 22:58

⭐️【资源名称】:JetBrains PyCharm 2025 v2025.2.5.01m 🤖【适用平台】: #Windows 🧱【资源介绍】 JetBrains PyCharm 是由 JetBrains 公司开发的一款专为 Python 开发者设计的集成开发环境(IDE) 🟢激活正式版 🟡在线下载:点击下载(无需密码) 📁#电脑软件#JetBrains#PyCharm

GitHub Trends

@githubtrending · Post #14833 · 17.06.2025 г., 11:30

#typescript#ai#chatgpt#copilot#developer_tools#intellij#jetbrains#llm#open_source#openai#pycharm#software_development#visual_studio_code#vscode Continue is a tool that helps developers create and use custom AI assistants for coding. It integrates with popular coding tools like VS Code and JetBrains, offering features like code autocompletion, chat for understanding code, and editing capabilities. This makes coding faster and more efficient, reducing errors and improving software reliability. Users can tailor these AI assistants to their specific needs, making it easier to work with complex codebases and improve overall productivity. https://github.com/continuedev/continue