Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
3428 Widoki

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?

Awatar
Odrzuć

Who is calling update_field_to_update method?

Autor

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

Autor

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

Powiązane posty Odpowiedzi Widoki Czynność
19
sty 18
12173
1
gru 16
4529
1
maj 16
6159
2
gru 22
14735
1
lis 21
4821