Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
4 Răspunsuri
72146 Vizualizări

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.

 

 

Imagine profil
Abandonează
Autor Cel mai bun răspuns

I think i solved it :)

here my solution:

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

Imagine profil
Abandonează
Cel mai bun răspuns

use something like this

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

Imagine profil
Abandonează
Cel mai bun răspuns

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.

Imagine profil
Abandonează
Cel mai bun răspuns

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

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

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
1
mai 25
423
0
ian. 24
1208
2
mai 23
8020
1
feb. 22
23022
5
dec. 21
16121