Iましたエラー:例外TypeError:odooの例外TypeError:検索は、()かかり、少なくとも4つの引数(与えられた2)
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
order='complete_name'
for index, expr in enumerate(args):
if expr[1] in ['like', 'ilike', 'not ilike', 'not like', '=like']:
args[index][2] = re.sub(r"\s+", '%', expr[2])
return super(stock_location, self).search(cr, uid, args, offset, limit, order, context, count)
:検索は、()この関数で、少なくとも4つの引数(与えられた2)
を取ります上
:
pickings = self.env['stock.picking'].search([('picking_type_id.id','=',picking_type_id),('state','=','assigned')])
は私がself.envが、何か間違ったことで、新しいAPIには、この機能を変更しようとしました。
def search(self, args, offset=0, limit=None, order=None, context=None, count=False):
order='complete_name'
for index, expr in enumerate(args):
if expr[1] in ['like', 'ilike', 'not ilike', 'not like', '=like']:
args[index][2] = re.sub(r"\s+", '%', expr[2])
return super(stock_location, self).search(self.env, args, offset, limit, order, context, count
)
関数 'def search'は、stock_location(models.Model)クラスで使用されます。だから私は古いAPIから新しいAPIにこの機能を変更しようとしました。
def _compute_can_validate(self):
user_is_admin = self.env.user._is_admin()
user_is_network_manager = self.user_has_groups('stock.group_stock_network_manager')
owned_locations = []
if user_is_network_manager:
owned_locations = self.env['stock.location'].search([('user_ids','in',self.env.user.id),
('type_id.code','=','network')])
しかし、あなたは、あなたが渡していると、クラスのインスタンスを使用すると、2つのだけの引数を渡している意味 'list'実現。あなたは何をしようとしているのですか? –
私は、関数def検索をself.envで新しいapiに変更する必要はないと言いたいのですか?問題はこのためではありませんか? – fueggit
は、あなたも使用されていないCRとのuidパラメータを持っている...それらを削除し、それが –