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

I have two models:

class 1st_model(models.Model):  
 
scode = fields.Char('Code', size=3)

field_to_update = fields.Char('Updated')

and

class 2nd_model(models.Model):

_inherits = {'1st_model': 'id_1st_model'}
id_1st_model = fields.Many2one('1st_model', 'Code', widget="many2one_list")

name = fields.Char(string='Name', size=100, required=True)  
 
def update_field_to_update(self, cr, uid, ids, context=None):
context = context or {}
assignment_obj = self.pool.get('1st_model')
for record in self.browse(cr, uid, ids, context=context):
if record.id_1st_model:
assignment_ids = assignment_obj.search(cr, uid, [('id_1st_model', '=', record.id_1st_model)], context=context)
if assignment_ids:
assignment_obj.write(cr, uid, assignment_ids, {'field_to_update': 'ok'}, context=context)
return True

When I create a new entry in 2nd_model, I would like to wite 'ok' in 'field_to_update' of 1st_model. But this code doesn't work.

Any idea?

Avatar
Abbandona

Who is calling update_field_to_update method?

Autore

Thank you for your reply. Where I Have to call this method? In the view? And how I can do?

in the write method. This will do your required update

Autore

Sorry, but I'm not good enough with Python. Could you make me an example, please?

Post correlati Risposte Visualizzazioni Attività
19
gen 18
12320
1
dic 16
4699
1
mag 16
6300
2
dic 22
14931
1
nov 21
5054