Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
5 Odpovědi
3500 Zobrazení

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...

Avatar
Zrušit
Autor

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

Nejlepší odpověď

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')
 
Avatar
Zrušit
Autor

I updated the original post with the python code.

Nejlepší odpověď

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>


Avatar
Zrušit
Autor

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

Related Posts Odpovědi Zobrazení Aktivita
0
říj 16
5033
4
úno 25
2300
1
srp 24
1957
2
lis 24
3130
3
říj 23
14666