跳至內容
選單
此問題已被標幟
2 回覆
4997 瀏覽次數

Hi all!,

I made a field with a module in sale.report. And now when i want to update a contact with my new field it throws this error, any idea?


File "/opt/odoo13/odoo/odoo/addons/base/models/ir_translation.py", line 558, in create
self.flush()
File "/opt/odoo13/odoo/odoo/models.py", line 5502, in flush
process(self.env[model_name], id_vals)
File "/opt/odoo13/odoo/odoo/models.py", line 5493, in process
recs._write(vals)
File "/opt/odoo13/odoo/odoo/models.py", line 3696, in _write
cr.execute(query, params + [sub_ids])
File "/opt/odoo13/odoo/odoo/sql_db.py", line 173, in wrapper
return f(self, *args, **kwargs)
File "/opt/odoo13/odoo/odoo/sql_db.py", line 250, in execute
res = self._obj.execute(query, params)
psycopg2.errors.ObjectNotInPrerequisiteState: cannot update view "sale_report"
DETAIL: Views containing GROUP BY are not automatically updatable.
HINT: To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule.


My field in module:

x_studio_sector = fields.Char(String = "Sector", related='partner_id.industry_id.name', store=True)

頭像
捨棄
作者 最佳答案

I made a module to try to update the field but i'm getting the same error:


from odoo import _, exceptions, models, api, fields

class ResPartner(models.Model):

_inherit = 'res.partner'

@api.onchange('x_studio_sector')
def _onchange_x_studio_sector(self):
for rec in self:
parentIndustry = rec.industry_id
for child in rec.child_ids:
child.industry_id = parentIndustry

頭像
捨棄
最佳答案

Hi,

The sale.report model is not same as other models, if you check the original code, you can see that it is created using the query by fetching data from sale order line. You have to inherit the query and add the value to it. Please see the sale_margin module and see, how the margin field is inherited and added to the sale.report model.


Thanks

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
6月 21
6039
1
6月 20
3608
2
5月 24
1645
1
8月 21
2415
1
4月 21
3880