web-dev-qa-db-ja.com

Odooのメソッドでデフォルト値を設定する方法は?

Odoo 8のオブジェクトフィールドのデフォルト値の計算方法models.py

Odoo 8では_default属性を使用できなくなりました。

field_name = fields.datatype(
    string=’value’, 
    default=compute_default_value
)

上記のフィールド宣言で、そのフィールドにデフォルト値を割り当てるメソッドを呼び出したいと思います。例えば:

name = fields.Char(
    string='Name', 
    default= _get_name()
)
10
Jay Venkat

次のようなラムダ関数を使用できます。

name = fields.Char(
    string='Name',
    default=lambda self: self._get_default_name(),
)

@api.model
def _get_default_name(self):
    return "test"
20
ChesuCR

@ChesuCR回答の簡単なバージョン:

def _get_default_name(self):
    return "test"

name = fields.Char(
    string='Name',
    default=_get_default_name,
)
15
Daniel Reis