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

For example, I have a custom module:

class CustomModule(models.Model):

​_name = 'custom module'


​custom_char = fields.Char(string="Custom Char")

​product_tmpl_id = fields.Many2one('product.template', string="Product Template", required=True )

​product_template_image_ids = fields.One2many('product.image', 'product_tmpl_id', string="Extra Product Media")


My view for the product_template_image_ids field in my custom module:

field name="product_template_image_ids" mode="kanban" context="{'default_product_tmpl_id': product_tmpl_id}"


File "C:\Odoo\odoo\models.py", line 5250, in _update_cache raise ValueError("Invalid field %r on model %r" % (e.args[0], self._name)) ValueError: Invalid field 'custom_char' on model 'product.template'

It looks like it wants to inherit the fields from my custom model, not take the value from the context.

Is there any solution?

頭像
捨棄

you may forget add dependency in manifest

作者

Probably not. This is what it looks like:

'depends': ['product', 'website_sale']

作者 最佳答案

https://codepaste.xyz/posts/B3QjoXws7Y46Ld35A9H2


product_template_image_ids = fields.One2many('product.image', 'product_tmpl_id', string="Extra Product Media")


product_tmpl_id - makes a problem

Is it possible to make some relations to display and edit this field (product_template_image_ids) from my custom module?


I found a solution. It works for me!

product_template_image_ids = fields.One2many(related='product_tmpl_id.product_template_image_ids', string="Product Imagesl", readonly=False)

+ context in view


頭像
捨棄
最佳答案

Hi,

As per shared code, it seems you have defined the field custom_char inside a new model named: custom module , did you add this field inside any view ? 

ie, error message says that, you have added or you are adding field in the view of product.template model and thus you get this error. 

You can update your question with the view information for more help.

Thanks

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
1
7月 25
2200
2
9月 23
6103
0
3月 23
2459
19
9月 20
70307
5
1月 20
4650