送信元アドレス:https://alanhou.org/odoo12-first-application/
- 追加するモジュールのアイコン
新しいモジュールは現在のアイコンを追加するためにそれを与える、元の本のアイコンなしではありません。
あなたの新しいモジュールの静的なディレクトリにディレクトリの記述を作成し、内部の画像をicon.pngのアイコンを追加し、あなたはフォーマットする必要がありますPNG形式され、名前が。あなたは、インターネットからダウンロードした画像のアイコンも、それに名前と形式icon.pngのを変更する必要があります。その後、自宅の更新アプリのリストを移動し、効果を見ることができ、あなたのモジュールを検索します。
- データモデルの作成
使用前に、単にモジュールのルート__init__.pyファイルを追加し、モデルのディレクトリのPythonの参照を通知するために必要とされるべきです。
から。インポートモデル
Pythonコードのファイルが作成されている引用するために、我々はまた、/モデルを追加する必要があります初期化の.pyファイルを:
から。輸入library_book
今、私たちはモデル/ library_book.py内に以下を追加することができます。
from odoo import fields, models
class Book(models.Model):
_name = 'library.book'
_description = 'Book'
name = fields.Char('Title', required=True)
isbn = fields.Char('ISBN')
active = fields.Boolean('Active?', default=True)
date_published = fields.Date()
image = fields.Binary('Cover')
publisher_id = fields.Many2one('res.partner', string='Publisher')
author_ids = fields.Many2many('res.partner', string='Authors')
コードの最初の行は、ここで利用可能Odooのコアモデルのフィールドやオブジェクトを聞かせて、Pythonのimport文です。その後、派生クラスmodels.Model出ている新しいモデルを、宣言します。その後_name属性は、モデル参照Odooグローバル識別子を定義します。ブックPythonのクラス名は、フレームとは何の関係もないことに注意してください、識別子は、モデル_nameの値です。
ヒント:唯一のそのような他のモジュールのようなドット表記で割ったモデル名のキーワード、XML識別子ので、下線(_)を有するデータテーブル(。)。
- メニュー項目を追加します
今、モデルデータ記憶装置と、ユーザ・インターフェースに追加されます。まず最初に行うには、適切なメニュー項目を追加することです。ビュー/ library_menu.xmlファイルを編集し、XML要素ととられるアクションのカスタムメニュー項目:
<!-- Action to open the Book list -->
<act_window id="action_library_book"
name="Library Books"
res_model="library.book"
view_mode="tree,form"
/>
<!-- Menu item to open the Book list -->
<menuitem id="menu_library_book"
name="Books"
parent="menu_library"
action="action_library_book"
/>
データテーブルに格納された動作のメニュー項目を含むユーザ・インタフェース。あなたは、プラグインモジュール、XMLファイルをインストールまたはアップグレードすると、これらの定義は、データベース内のデータファイルをロードします。コード上Odooは、二つOdooを表すデータファイルがレコードに追加されます。
- フォームビューを作成します。
すべてのビューは、データベースir.ui.viewモデルに格納されています。ビューモデルを追加し、当社は、XMLファイルで宣言します
フォームビューを定義するビュー/ book_view.xmlファイルを追加します。
名、機種やアーチ:値ir.ui.viewレコードは、3つのフィールドがあります。もう一つの重要な要素は、他のレコードで参照されるXML IDの識別子とを定義するレコードIDです。これは、ブックフォームと呼ばれるビューlibrary.bookモデルです。この名前は、一意の情報提供の目的のためであるが、参照、レコードを区別することは簡単なはずです。実際には、それは名前、自動的にモデル名の種類と、この場合に発生するビューに応じます、完全に省略されてもよいです。
最も重要なフィールドは、ビューの定義を含むアーチ、です。
name属性が固定されていない、それは最初、自分のアイデアに基づいて命名することができます