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

Резултати

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

Пребарај: #yamby

当前筛选 #yamby清除筛选
OPosedArchives

@OPosedArchives · Post #372 · 25.10.2024 г., 12:15

一款EMBY第三方客户端 特点: UI好看 支持弹幕 来源: @yamby_release wiki: https://yamby-wiki.vercel.app/zh-cn/ 变更日志 新增: - 下载支持外挂字幕 - 支持忽略ssl证书错误 - 选择协议时提供默认端口号 - 没有下载内容时隐藏下载TAB - 更多页面支持切换海报图片类型 - 随机播放电影时支持多部队列 修复: - 小窗状态下新建activity的异常 #emby#yamby#android#好软推荐

OPosedArchives

@OPosedArchives · Post #213 · 01.07.2024 г., 11:37

一款EMBY第三方客户端 特点: UI好看 支持弹幕 来源: @yamby_release wiki: https://yamby-wiki.vercel.app/zh-cn/ 变更日志 新增: - 双击快进/快退 - 保存图片到本地 - DLNA 投屏 - 缓冲动画 - 自动更新用户信息 - 优化 mediainfo 显示 - ExoPlayer 显示缓冲速度 (目前对两个播放器都有效) - 重置服务器图标 修复: - 可能修复少数设备上冷启动过慢 - 某些设备上手势调节音量异常 - 播放器长按异常 - 多版本 strm 文件的 probe #emby#yamby#android#好软推荐

OPosedArchives

@OPosedArchives · Post #203 · 18.06.2024 г., 11:17

一款EMBY第三方客户端 特点: UI好看 支持弹幕 来源: @yamby_release wiki: https://yamby-wiki.vercel.app/zh-cn/ 变更日志 新增: - 支持自定义服务器图标 - 服务器的备份和恢复 修复: - 小窗模式异常 - 简介弹窗展示异常 #emby#yamby#android#好软推荐