跳至内容
菜单
此问题已终结
5 回复
3508 查看

I want to add a new field in a model. I create it in the python file:

class SaleOrderExt(models.Model):
    _inherit = ['sale.order']
    my_new_field = fields.Char()


and then I am going to show it in the view form:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
  <record id="view_order_form_extend" model="ir.ui.view">
  <field name="name">view.order.form.extend</field>
  <field name="model">sale.order</field>
  <field name="inherit_id" ref="sale_stock.view_order_form_inherit_sale_stock"/>
<field name="arch" type="xml">  <xpath expr="//field[@name='picking_policy']" position="after">
<field name="my_new_field"/>
</xpath> </field> </record> </data> </openerp>

When I install the module for the first time, the field appears and everything works fine. The problem comes when I try to update the module. 

It gives an exception that says that field product_tmpl_id doesn't exist.


How can it be possible? The first installation worked fine...

形象
丢弃
编写者

@Sehrish ??? Did you read all the post?

最佳答案

If you do anything that changed in python, restart database and odoo services to make sure things are reloaded.

And in odoo, update all modules and upgrade your custom module to latest.

You didn't show your python code, but product_tmpl_id should not be related to your custom field, and in that case you may have corrupted your .py file format.  Check tab/space coherence, indentation and pretty much all programming grammar errors.
The xml code you posted seems fine.

Edit:
try this
class SaleOrderExt(models.Model):
    _inherit = 'sale.order'
    my_new_field = fields.Char('My New Field')
 
形象
丢弃
编写者

I updated the original post with the python code.

最佳答案

I might be wrong, but I guess you also need to actually create the field you are using on your view.

If the field your are creating belongs to the sale.order module, try adding the following:

<record id="whatever_id_you_want" model="sale.order">

     <field name="name">my_new_field</field>

</record>


形象
丢弃
编写者

I said that the field is created in the python file. That's not the point

相关帖文 回复 查看 活动
0
10月 16
5059
4
2月 25
2309
1
8月 24
1962
2
11月 24
3134
3
10月 23
14673