关于 dtg-base
dtg-base 是面向 Odoo 18 开发者的 DTG Base 工具参考技能,介绍可由抽象模型继承使用的日期、时区、条码、批处理、文本、文件和数字工具。
主要功能
- 01日期与周期计算
- 02本地时间与 UTC 转换
- 03条码检查和 EAN13 生成
- 04记录集批量处理
- 05越南语去重音处理
- 06文件与数字工具
适用场景
- 01在 Odoo 代码中计算周期边界
- 02转换本地时间与 UTC 日期时间
- 03分批处理大型记录集
- 04使用条码和文件工具
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ unclecatvn/ agent-skills --skill dtg-base安装后在 Claude Code 中输入/dtg-base确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
CLAUDE.mdodoo-18-dtg-base-guide.mdREADME.md详细介绍
DTG Base 技能
Odoo 18 中 DTG Base 模块实用工具和辅助函数的完整参考。
什么是 DTG Base?
DTG Base 是一个自定义抽象模型(dtg_base.DTGBase),提供 Odoo 开发常用的实用方法。其他模型可以继承它,以使用这些实用工具。
快速参考
| 实用工具 | 描述 |
|---|---|
| 日期与周期 | 查找周期的第一天/最后一天,遍历周期 |
| 时区 | 本地时间转 UTC,UTC 转本地时间 |
| 条码 | 检查条码是否存在,生成 EAN13 |
| 批量处理 | 将大型记录集拆分为多个批次 |
| after_commit | 在事务提交后执行代码 |
| 越南语文本 | 去除重音符号,转换为无重音文本 |
| 文件实用工具 | 压缩目录,获取文件大小 |
| 数字实用工具 | 四舍五入到指定小数位数 |
主要指南
文件:odoo-18-dtg-base-guide.md
何时使用此技能
- 使用 DTG Odoo 代码库
- 需要进行日期/周期计算
- 需要进行时区转换
- 需要验证条码
- 需要批量处理大型记录集
- 需要处理越南语文本
- 需要使用文件压缩工具
DTGBase 抽象模型
继承 DTGBase
位置:addons_customs/erp/dtg_base/models/dtg_base.py
from odoo import models
class MyModel(models.Model):
_name = 'my.model'
_inherit = ['dtg_base.dtg_base']
def my_method(self):
# Now you have access to all DTGBase utilities
first_date = self.find_first_date_of_period('2024-01-15', 'month')
utc_date = self.convert_local_to_utc('2024-01-15 10:00:00')
文件结构
agent-skills/skills/dtg-base/
├── SKILL.md # This file - master index
├── odoo-18-dtg-base-guide.md # Complete DTG Base utilities reference
└── README.md # Skill overview
实用工具概览
日期与周期实用工具
find_first_date_of_period(date, period_type)- 获取周期的第一天find_last_date_of_period(date, period_type)- 获取周期的最后一天period_iter(start_date, end_date, period_type)- 遍历各个周期
时区转换
convert_local_to_utc(local_dt, tz=None)- 将本地日期时间转换为 UTCconvert_utc_to_local(utc_dt, tz=None)- 将 UTC 转换为本地日期时间
条码实用工具
barcode_exists(barcode, exclude_id=0)- 检查条码是否已存在get_ean13 barcode)- 生成/检查 EAN13 条码
批量处理
splittor(limit=None)- 将记录集拆分为多个批次进行处理
字符串与文本实用工具
strip_accents(text)- 去除越南语重音符号_no_accent_vietnamese(text)- 转换越南语文本
文件实用工具
zip_dir(source_dir, output_file)- 压缩目录zip_dirs(dirs, output_file)- 压缩多个目录_get_file_size(file_path)- 获取易读的文件大小
数字实用工具
round_decimal(value, decimal_places)- 四舍五入到指定小数位数
详细文档请参阅 odoo-18-dtg-base-guide.md
评论
支持 Markdown