0

Sale Order オブジェクトに「state」値を追加する必要があります。バージョン 7.0 以降、'sale_stock' モジュールはすでにそれを行っています。独自のモジュールから同じことをしようとすると、キーと値が無視されます。これを達成するための他の選択肢はありますか?
私が知ったように、これはこのスレッドで説明されているように、2 年前からの古い問題のようです。提案された回避策は、次のようなことをすることでした:

_inherit = 'sale.order'
def __init__(self, pool, cr):
    super(sale_order, self)._columns['state'].selection.append(('keyx', 'valuex'))

このアプローチは論理的だと思いましたが、次のエラーが発生しました。

`File "/home/nicolas/Eclipse/OpenERP/7.0/src/openerp/osv/orm.py", line 2958, in _auto_init
    self._field_create(cr, context=context)
File "/home/nicolas/Eclipse/OpenERP/7.0/src/openerp/osv/orm.py", line 764, in _field_create
    ir_model_fields_obj = self.pool.get('ir.model.fields')
AttributeError: 'sale.order' object has no attribute 'pool'`

このバグはランチパッドで報告する必要がありますか?それとも意図しない使用ですか? 他にどのような解決策を提案できますか? 前もって感謝します。

4

3 に答える 3

0

同じ問題を抱えていて、スレッドを見てみましたが、気づきました。問題は、sale.order オブジェクトの同じフィールド (「状態」) を変更し、互いに依存していないため、モジュールと sale_stock が「競合」しているという事実から来ていると思います。1 つの解決策は、独自のモジュールを変更し、 openerp .pyの「依存」リストに「sale_stock」を追加することです。

depends : ['sale_stock',...]

状態フィールドに別の (キー、値) があるこのモジュールの例を見ることができます: http://bazaar.launchpad.net/~agaplan/agaplan-addons/7.0/files/head:/sale_double_validation/

それが役に立てば幸い

于 2014-06-14T05:47:34.403 に答える
0

これを試して

from openerp.osv import osv, fields
class sale_order(osv.osv):
    _inherit = 'sale.order'
    selection_list = [];#add your selection list here.
    _columns = {
        'state': fields.selection(selection_list,'State');#add necessary arguments
    }
sale_order()
于 2013-02-22T12:16:16.367 に答える