Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
4 Risposte
72407 Visualizzazioni

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
Abbandona
Autore Risposta migliore

I think i solved it :)

here my solution:

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

Avatar
Abbandona
Risposta migliore

use something like this

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

Avatar
Abbandona
Risposta migliore

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
Abbandona
Risposta migliore

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

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

Avatar
Abbandona
Post correlati Risposte Visualizzazioni Attività
1
mag 25
657
0
gen 24
1423
2
mag 23
8273
1
feb 22
23345
5
dic 21
16337