Odoo studioで定義できることとコードで定義できることで区別
ポイントは「UIで完結する項目」と「コード化すべき項目」をはっきり分けることです。
1. UIで定義すべきフィールド設定項目(Studio相当)
共通属性
- Invisible(非表示条件)
単純なON/OFFか、簡易条件(例:別フィールドがTrueのとき非表示)。 - Required(必須条件)
- Readonly(編集不可条件)
- フィールド名
- Label(表示名)
- Help tooltip(フィールド横の「?」に表示する説明文 → ユーザーガイド用途)
- Widget(表示タイプ)
例:radio、statusbar、date picker、email、URL など。 - Display horizontally(水平配置)
チェックボックスやラジオボタンを横並びに。 - Placeholder(入力欄の薄いガイド文字)
- Default value(既定値)
- Limit visibility to groups(権限グループで表示制限)
リレーション系属性
- Many2one / One2many / Many2many
- 接続先モデルの選択(モデル一覧から選択)
- Domain制約(UIで簡単に書ける場合のみ)
- Related field
- 2階層まで選択可能に(例:
order_id.partner_id.name)
- 2階層まで選択可能に(例:
2. コードで定義すべき項目
UIで複雑条件や動的処理が必要なものはすべてこちらに回す。
- 複雑な invisible/required/readonly 条件式(計算式や複数条件)
- 複雑な domain(計算フィールドや外部条件を利用する場合)
- コンテキスト設定(例:
{'default_country_id': 80}) - 計算フィールド(
compute) - onchange処理
- ビジネスロジックを伴うバリデーション
- 特殊なWidgetカスタム
- 関連フィールドの多階層アクセス(3階層以上)
- セキュリティルールやアクセス制御(
ir.rule)
3.ポータルUI構成
上記の設定項目以外の細かい部分はコードとして定義する。その際、自然文から条件指定とコード
- AI補助ボタン
- コンサルが自然文で説明 → AIがドラフトコード生成
- 生成コードをそれぞれのファイルにしてアップロード
これなら、
- 単純UI設定 → コンサル自身が即登録
- 複雑ロジック → コードタブで開発者に渡す
の二段階に分かれて、自然文からのAI生成も途中で入れられます。
コメントを残す