2017-12-19 12 views
1

odooでモデルを作成してデータベースレベルに反映できないのですか?例えばビューレベルでodooモデルを作成

:私は、データベースに "sale_order" テーブルを作成したくない

class SalaOrder(model.models): 
    _name='sale.order' 

+0

「反映する」という意味は少し不明です。これは、odooによって自動的にテーブルを作成したくないということですか、それとも別の名前でテーブルを作成したいのですか? – Unatiel

+1

はい、私はテーブルを作成したくありません。 –

答えて

0

models.py(odoo/odoo/models.py)に関するコメントによれば、_autoFalseに設定することができます。

    を:継承して

    Odooモデルが作成されます。コメントに

    class SalaOrder(model.models): 
        _name = 'sale.order' 
        _auto = False 
    

    はここ

    _auto = False # don't create any database backend 
    

    が(同じコードから)Odooモデルに関するいくつかの詳細をしていると言います

  • :クラス:Model通常のデータベース用-persistedモデル

  • :クラス:一時的なデータのためのTransientModel、データベースに保存されているが、 が自動的にしょっちゅう

  • 真空: 複数の継承モデル

    で共有されることを意味し、抽象スーパークラスのAbstractModel:クラス

システムは、データベースごとにすべてのモデルを自動的にインスタンス化します。これらの インスタンスは、各データベース上で使用可能なモデルを表し、 に依存し、そのモジュールはそのデータベースにインストールされています。それぞれの インスタンスの実際のクラスは、対応するモデル から作成および継承するPythonクラスから作成されます。

すべてのモデルインスタンスは、「レコードセット」、すなわちモデルの レコードの順序付けられたコレクションです。レコードセットは、 :meth:~.browse、:meth:~.search、またはフィールドアクセスのようなメソッドによって返されます。レコードには 明示的な表現がありません。レコードは、1つの レコードのレコードセットとして表されます。

インスタンス化すべきでないクラスを作成するには、_registerクラス 属性をFalseに設定します。

+1

ありがとう@Lucasその仕事 –

関連する問題