Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
5 Vastaukset
3580 Näkymät

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
Hylkää
Tekijä

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

Paras vastaus

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
Hylkää
Tekijä

I updated the original post with the python code.

Paras vastaus

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
Hylkää
Tekijä

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

Aiheeseen liittyviä artikkeleita Vastaukset Näkymät Toimenpide
0
lokak. 16
5160
4
helmik. 25
2531
1
elok. 24
2119
2
marrask. 24
3282
3
lokak. 23
14804