dtg-base について
dtg-baseは、Odoo 18でDTG Baseユーティリティを使う開発者向けのリファレンススキルです。抽象モデルから継承できる日付、タイムゾーン、バーコード、バッチ処理、テキスト、ファイル、数値の機能を説明します。
主な機能
- 01日付と期間の計算
- 02ローカル時刻とUTCの変換
- 03バーコード確認とEAN13生成
- 04レコードセットのバッチ処理
- 05ベトナム語のアクセント処理
- 06ファイルと数値のユーティリティ
活用シーン
- 01Odooコードで期間の境界を計算
- 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 は、Odoo 開発に共通のユーティリティメソッドを提供するカスタム抽象モデル(dtg_base.DTGBase)です。他のモデルに継承させることで、便利なユーティリティを利用できるように設計されています。
クイックリファレンス
| ユーティリティ | 説明 |
|---|---|
| 日付と期間 | 期間の最初/最後の日付の検索、期間の反復処理 |
| タイムゾーン | ローカル時刻から UTC、UTC からローカル時刻への変換 |
| バーコード | バーコードの存在確認、EAN13 の生成 |
| バッチ処理 | 大きなレコードセットをバッチに分割 |
| after_commit | トランザクションのコミット後にコードを実行 |
| ベトナム語テキスト | アクセント記号の削除、アクセントなしのテキストへの変換 |
| ファイルユーティリティ | ディレクトリの ZIP 圧縮、ファイルサイズの取得 |
| 数値ユーティリティ | 小数点以下の桁数を指定して丸める |
メインガイド
ファイル:odoo-18-dtg-base-guide.md
このスキルを使用する場面
- DTG の Odoo コードベースを扱う場合
- 日付や期間の計算が必要な場合
- タイムゾーンを変換する場合
- バーコードを検証する場合
- 大きなレコードセットをバッチ処理する場合
- ベトナム語テキストを処理する場合
- ファイルを ZIP 圧縮するユーティリティが必要な場合
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)- ローカルの日時を UTC に変換convert_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 圧縮zip_dirs(dirs, output_file)- 複数のディレクトリを ZIP 圧縮_get_file_size(file_path)- 人が読みやすい形式でファイルサイズを取得
数値ユーティリティ
round_decimal(value, decimal_places)- 小数点以下の指定した桁数に丸める
詳細なドキュメントについては、odoo-18-dtg-base-guide.md を参照してください。
コメント
Markdown 対応