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.order
selection
si
_get_product_available_func(('done'))
冗長性のために:)
それで、誰でもこれに光を当てることができますか?
前もって感謝します!