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

Пребарај: #eyeball

当前筛选 #eyeball清除筛选

⏺ DMIT LAX.Pro + LAX.EB 系列 硬件升级 & 上新补货 🔵 DMIT 产品线命名介绍 T1: 全称为 Tier 1 (顶级网络),指的是接入了全球互联网最顶级的运营商 (Arelion ,NTT, GTT 等),完整名单,但由于国内三大运营商缺少与国外运营商的互联和各种特殊原因,被列为了 Tier2 网络,不能和 Tier1 网络免费结算,导致 Tier1 网络和国内运营商之间的容量有限,速度和可用性较差,只适合跑国际方向。 EB: 全称为 Eyeball (眼球网络),本来是指面向最后一公里的运营商分类,在 DMIT 指的是相比 T1 系列而言,尽量使用有性价比的线优化国内体验(例如 #Lumen 等),不保证国内优化线路的可用性。 Pro: 承诺大陆优化的最强系列,在以上两个产品线的线路/硬件基础上增加了直接接入 CN2-GIA (中国电信的精品骨干网络,目前公认的回国体验最稳定、成本最高的线路) / CMIN2 (中国移动精品骨干网,目的是对标 CN2,在 IPv6 上体验不错) 等国内优化线路。 ❕ 配置介绍 DMIT 于近期升级了其位于美国洛杉矶 (IATA 代码 LAX) 的硬件配置: - CPU 升级为 AMD EPYC 最新最热的 AMD EPYC 9654 96-Core - 内存升级为 海力士 DDR5 5600MHz (受 AMD 限制降频为 4800MHz) - 硬盘升级为 Soildigm (Intel) 的 P5520,全 NVMe 闪存阵列,最大可扩容至 1.68PB 阵列集群。 - 网络骨干网容量扩容至 800Gb*3, 单机柜 4x100Gb, 单节点 2x100Gb 链路,汇聚总容量达 1.92Tbps 🌐 网络简述 - DMIT LAX Pro 系列采用了最顶级 (也是成本最高) 的 CN2-GIA。 IPv4: 电信/联通/移动/教育网 回程均经过 AS4809。 IPv6: 教育网/移动 回程经过 CMIN2 (移动精品网,与中国电信 CN2 对标) - DMIT LAX EB (Eyeball) 系列回程采用了移动精品网 CMIN2 💻 配置大升级 每个机型的流量增幅达到 10%~15%,部分机型的 CPU / 内存 翻倍,具体的升级配置单可以 点击这里 查看。 🎆 回馈老客户 如果您是在本次活动之前购买的 LAX.Pro / LAX.EB,将在此次配置升级的基础上,还能再享受流量 +10% (Pro), +15% (EB) 的福利! ✅ 购买链接 写文不易,如果觉得我写的指南对你选购有所帮助,还请点击下方 aff 链接注册账号,感谢! https://affyes.link/store/dmit 通过链接注册账号后再访问活动页面选购产品: 格式: 机型,CPU,内存,硬盘,流量@带宽 ✅ LAX Pro 系列 LAX.Pro.WEE: 1vCPU, 1GB, 20GB, 500GB @500Mbps https://affyes.link/store/dmit-lax-pro-wee LAX.Pro.MALIBU: 1vCPU, 1GB, 20GB, 1000GB @1Gbps https://affyes.link/store/dmit-lax-pro-malibu LAX.Pro.PalmSpring 2vCPU, 2GB, 40GB, 2000GB @2Gbps https://affyes.link/store/dmit-lax-pro-palmspring ✅ LAX EB (Eyeball) 系列 LAX.EB.WEE 1vCPU, 1GB, 20GB, 1000GB, @1Gbps https://affyes.link/store/dmit-lax-eb-wee LAX.EB.CORONA 1vCPU, 1GB, 20GB, 1500GB @1Gbps https://affyes.link/store/dmit-lax-eb-corona LAX.EB.FONTANA 2vCPU, 2GB, 40GB, 2500GB @4Gbps https://affyes.link/store/dmit-lax-eb-fontana ❔ 关于本消息 本消息为 #IDC新闻速报 ,是本频道 #多元化新闻发布计划 中的一个主要分支,是对 IDC 测评前的预告,本频道大部分测评内容均由笔者出资购买,与商家没有利益相关。 本频道 (AFF Channel, @affyes) 创作不易,IDC 类消息中的链接 (除特殊声明外) 均包含 aff 参数,当您购买商品后,笔者将会从商家收到一笔不多 (大约仅 5~10%) 的推荐佣金,这些佣金将是支撑本频道继续创作主要的神来源。 💡 本文网页版 (网站可能已被国内屏蔽) 传送门: https://www.hats-land.com/archives/2024-10-06-dmit-lax-pro-eb-upgrade.html 标签 Tags: #dmit#lax#dmit_lax_pro#dmit_lax_eb#eyeball