Odoo Help


Get and write: where is the problem?

on 9/10/15, 6:36 AM 878 views

I have two models:

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

field_to_update = fields.Char('Updated')


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?

Axel Mendoza
on 9/10/15, 10:27 AM

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

on 9/10/15, 10:35 AM

in the write method. This will do your required update

Tarek Mohamed Ibrahim
on 9/10/15, 11:34 AM

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

on 9/11/15, 4:17 AM

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

2 follower(s)


Asked: 9/10/15, 6:36 AM
Seen: 878 times
Last updated: 9/11/15, 4:17 AM