Hello I want to know how to use compute to fill a One2Many
Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:
- CRM
- e-Commerce
- Kế toán
- Tồn kho
- PoS
- Project
- MRP
Câu hỏi này đã bị gắn cờ
option with recordsets:
o2m_field = fields.One2many(....,compute="_compute_o2m_field")
@api.one
def _compute_o2m_field(self):
### get recordset of related object, for example with search (or whatever you like):
related_recordset = self.env["the.relation.obj"].search([("some", "condition","here")])
self.o2m_field = related_recordset
option with ids:
o2m_field = fields.One2many(....,compute="_compute_o2m_field")
@api.one
def _compute_o2m_field(self): related_ids = [] # here compute & fill related_ids with ids of related object self.o2m_field.ids = related_ids
together with @api.one add @api.depends(...) as well, if your calculation of related recordset or ids depends on another fields in a model.
Thank you i going to try this but if i want to create record in my on2many it's possible?
you mean make this field editable? in this case you'll have to implement another function as well, the "inverse" function, see doc: https://www.odoo.com/documentation/8.0/reference/orm.html#field-computed
Not exactly in my one2many, i want to fill a result for eg : timesheet_ids = timesheet_obj.search([('employee_id','=', self.id)]) for timesheet_id in timesheet_ids : time_geh[timesheet_id.machine_id.geh_id.id] += timesheet_id.time_amount for geh_id_int in time_geh : geh_id = geh_obj.browse(geh_id_int) my_ids = my_one2many.create({'name':geh_id.name, 'total_time' : time_geh[geh_id]}) self.my_one2many.ids = my_ids
yes, technically it's possible, but I do not see how it may be useful to create records from inside of compute function... as compute function is called several times, each time when you access the field, when field displayed in UI, etc... so new records will be created over and over...
Yeah i understund this is why i try to do each time to make an unlink to empty the table but i have keyerror : 1
Bạn có hứng thú với cuộc thảo luận không? Đừng chỉ đọc, hãy tham gia nhé!
Tạo tài khoản ngay hôm nay để tận hưởng các tính năng độc đáo và tham gia cộng đồng tuyệt vời của chúng tôi!
Đăng kýBài viết liên quan | Trả lời | Lượt xem | Hoạt động | |
---|---|---|---|---|
|
1
thg 12 15
|
10148 | ||
|
1
thg 3 15
|
5259 | ||
|
2
thg 2 20
|
17568 | ||
when to use new api decorators??????
Đã xử lý
|
|
2
thg 4 24
|
24577 | |
|
0
thg 6 15
|
7434 |