İçereği Atla
Menü
Bu soru işaretlendi
3429 Görünümler

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
Vazgeç

Who is calling update_field_to_update method?

Üretici

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

Üretici

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

İlgili Gönderiler Cevaplar Görünümler Aktivite
19
Oca 18
12176
1
Ara 16
4532
1
May 16
6159
2
Ara 22
14735
1
Kas 21
4823