This question has been flagged
4 Replies
67517 Views

I am trying to delete some record from database not the current record, and i got error like this:

 

result = [method(rec, *args, **kwargs) for rec in self] 

return new_api(self, *args, **kwargs)

ValueError: "unlink() takes exactly 1 argument (2 given)" while evaluating

 

and here my code:

class demo_demo(models.Model):

_name = 'demo.demo'

...

@api.multi

def unlink(self):

return super(demo_demo, self).unlink()

 

@api.one

def _delete_from_db(self):

# Search data in database for current model

find_id = self.search([('name', '=', 'demo')]) # result demo.demo(1,)

self.unlink(find_id.id)

Thanks.

 

 

Avatar
Discard
Author Best Answer

I think i solved it :)

here my solution:

self.search([('name', '=', 'demo')]).unlink()

Avatar
Discard
Best Answer

use something like this

self.env["hr.employee"].search([('type','=','permanent')]).unlink()

Avatar
Discard
Best Answer

l have apparently less than 8 karma! :-)
... In your code, I get the impression you send the name as a parameter and then look for the id. Why is that!? Why not just send the id as a a parameter? Sending id as parameter makes sense and will always work. I'm looking for a solution deleting records using id as parameter.

Avatar
Discard
Best Answer

To delete records with constraint just like account e.t.c 

watch this module: https://youtu.be/4v5P1UdhdxU

Avatar
Discard