تخطي للذهاب إلى المحتوى
القائمة
لقد تم الإبلاغ عن هذا السؤال

Hello,

I have 3 models.

Model_a.py:

fila = fields.one2many('model.c', 'keya')

kn_b = fields.many2one('model.b')


Model_b.py:

filb = fields.one2many('model.c', 'keyb')

reference = fields.Char('Reference')

date = fields.Date('Date')


Model_c.py:

filcb = fields.many2one('model.b')


I will create records in model b. In this model b, there is a button is there. On clicking on that button I need to copy all values (all records) of filb field to fila field of model a .

I'd tried with this code:

def accept(self):

for record in self:

            filb_values = [(0, 0, {'reference': line.reference, 'date': line.date}) for line in record.filb]

            vals = {'fila': filb_values}

self.env["model.a"].write(vals)

return True


After click a button 'Accept'. It still not show all records ( in tree view notebook of model b) in one2many tree view notebook of model a.


Please help!

Thank you!



الصورة الرمزية
إهمال
الكاتب أفضل إجابة

Finally, I'd solved my issue. Just add the line like this:

.....

filab = self.env["model.a"].search([])

filab = filab.write(vals)

return True


And it works fine after clicking the button: 'accept'.

الصورة الرمزية
إهمال
المنشورات ذات الصلة الردود أدوات العرض النشاط
0
فبراير 21
3591
1
أبريل 25
4001
0
يناير 21
3021
3
مارس 21
5325
1
مارس 21
18999