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?
Who is calling update_field_to_update method?
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
Sorry, but I'm not good enough with Python. Could you make me an example, please?