1

openerp でこの関数を持つクラスから別のクラスのオブジェクト内のフィールドを読み取ろうとしています:

def desc_cert(self, cr, uid, ids, field_name, field_args, context=None):
    obj = self.pool.get('purchase.order')
    pids = obj.search(cr, uid [('sel_cert', '=', 'si')])
    val = self._get_product_available_func(('done'))
    if pids == 'si':
            return val   

sel_cert私が読み込もうとしているクラスのフィールドであるためself.pool.get、私はまだ OpenErp を学んでいますが、このコードでは、この投稿のタイトルに表示されるエラーが表示されます。トレースバックは次のとおりです。

Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\openerp\addons\web\session.py", line 89, in send
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\service\web_services.py", line 626, in dispatch
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 188, in execute_kw
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 131, in wrapper
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 197, in execute
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\osv.py", line 185, in execute_cr
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 3604, in read
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\orm.py", line 3724, in _read_flat
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\.\openerp\osv\fields.py", line 1133, in get
File "C:\Program Files\OpenERP 7.0-20130726-231403\Server\server\openerp\addons\product\product.py", line 456, in desc_cert
TypeError: 'int' object is unsubscriptable

コードの何が問題なのか理解できません。accountモジュールで非常によく似た例をすでに見ました。達成しようとしているのは、オブジェクトsel_certからフィールドを読み取ることです。これは型フィールドです。したがって、このフィールドが選択されている場合それからするpurchase.orderselectionsi_get_product_available_func(('done'))

冗長性のために:)

それで、誰でもこれに光を当てることができますか?

前もって感謝します!

4

1 に答える 1

2

uidその行の後にカンマがないようです。

于 2013-07-28T17:45:40.413 に答える