Ich habe Fehler: Typeerror: search() dauert mindestens 4 Argumente (2 angegeben)odoo Typeerror: search() dauert mindestens 4 Argumente (2 angegeben)
mit dieser Funktion:
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)
auf:
pickings = self.env['stock.picking'].search([('picking_type_id.id','=',picking_type_id),('state','=','assigned')])
ich habe versucht, diese Funktion zu neuen api mit self.env aber falsch, etwas zu ändern.
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
)
Die Funktion 'def search' wird in der Klasse stock_location (models.Model) verwendet. Also habe ich versucht, diese Funktion von alten API zu neuen API zu ändern. Für die Nachlese der Suche Ich bin mit dieser Funktion:
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')])
Aber Sie erkennen, die 'liste', die Sie übergeben und die Instanz der Klasse bedeutet, dass Sie nur zwei Argumente übergeben. Was versuchst du zu machen? –
Sie wollen also sagen, dass ich die Funktion Def Suche nicht ändern muss, um neue API mit Self.env? Das Problem ist nicht deswegen? – fueggit
Überprüfen Sie meine Antwort, Sie haben die Parameter cr und uid, die nicht einmal verwendet werden ... entfernen Sie sie und es sollte in Ordnung sein –