odoo 12自己図書館ブックモジュールの練習

送信元アドレス:https://alanhou.org/odoo12-first-application/


  1. 追加するモジュールのアイコン

    新しいモジュールは現在のアイコンを追加するためにそれを与える、元の本のアイコンなしではありません。
    あなたの新しいモジュールの静的なディレクトリにディレクトリの記述を作成し、内部の画像をicon.pngのアイコンを追加し、あなたはフォーマットする必要がありますPNG形式され、名前が。あなたは、インターネットからダウンロードした画像のアイコンも、それに名前と形式icon.pngのを変更する必要があります。その後、自宅の更新アプリのリストを移動し、効果を見ることができ、あなたのモジュールを検索します。


  1. データモデルの作成

使用前に、単にモジュールのルート__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識別子ので、下線(_)を有するデータテーブル(。)。


  1. メニュー項目を追加します

今、モデルデータ記憶装置と、ユーザ・インターフェースに追加されます。まず最初に行うには、適切なメニュー項目を追加することです。ビュー/ 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を表すデータファイルがレコードに追加されます。

要素は、開口部を可能にすることによって、ビューを順次クライアントウィンドウの操作を定義し、リストモデルlibrary.bookを形成します
以前に定義されたaction_library_book操作を呼び出すために、トップレベルのメニュー項目の定義
を有効にするために変更を加えるために、再度モジュールをアップグレードし、今。次に、ブラウザのページを更新し、あなたはトップレベルのメニューのライブラリを参照してくださいし、サブメニュー項目が含まれていることができます。メニューをクリックすると、ベースビューのリストが表示され、録音が自動的に生成されたフォームビューで編集することができます。見るために作成]ボタンをクリックしてください:


  1. フォームビューを作成します。

すべてのビューは、データベースir.ui.viewモデルに格納されています。ビューモデルを追加し、当社は、XMLファイルで宣言します モジュールXMLファイルをインストールするときに、ビューを記述するための要素がデータベースにロードされます。

フォームビューを定義するビュー/ book_view.xmlファイルを追加します。



ブックフォーム
library.book














名、機種やアーチ:値ir.ui.viewレコードは、3つのフィールドがあります。もう一つの重要な要素は、他のレコードで参照されるXML IDの識別子とを定義するレコードIDです。これは、ブックフォームと呼ばれるビューlibrary.bookモデルです。この名前は、一意の情報提供の目的のためであるが、参照、レコードを区別することは簡単なはずです。実際には、それは名前、自動的にモデル名の種類と、この場合に発生するビューに応じます、完全に省略されてもよいです。

最も重要なフィールドは、ビューの定義を含むアーチ、です。

タグは、ビュータイプを定義し、ビュー構造を含みます。

ここでは、フォームに表示するフィールドが含まれています。これらのフィールドは、自動的に日付選択コンポーネントを使用して、日付フィールドとして、コンポーネントをデフォルト設定されます。上記のコードauthor_idsは、画像の対応する成分を用いて、表示部品、画像処理分野のタグのリストを使用するような、時には我々は、異なる構成要素を使用しなければなりません。このコンポーネントは、表示スタイル要素を変更することができます。


フォームを整理するグループを使用します

タグは、フォームの内容を整理するために使用することができます。 要素内のプラス 私たちは、外側のグループに2列のレイアウトを作成します。グループ内の要素のname属性を追加することをお勧めします、簡単にその他のモジュールが継承します。私たちは、コンテンツを整理するために、このラベルを使用して修正します これは次のように読み取ります。

name属性が固定されていない、それは最初、自分のアイデアに基づいて命名することができます 内部に埋め込まれた場合内容物は、第1行で表示され、 右側にある2つの後、第2がある場合、デフォルトではまず、左側に表示されます。インライン3基、最も左のディスプレイの次のライン上の第3の群もし。モデルフィールドに提出された再利用することができます。

おすすめ

転載: www.cnblogs.com/plusUltra/p/11106762.html