Skip to Content
Menu
This question has been flagged
1 Reply
3493 Views

when i try to update my custom module iam getting this error 

i field i added in xml file :        

  <header>

            <!--<button name="" string="" class="oe_highlight" states="" type=""/>-->

            <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate,refuse,approved"/>

          </header>


Odoo Server Error

Traceback (most recent call last):
  File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 392, in _check_xml
    self.postprocess_and_fields(view.model, view_doc, view.id)
  File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 964, in postprocess_and_fields
    self.raise_view_error(message, view_id)
  File "/odoo/odoo-server/odoo/addons/base/models/ir_ui_view.py", line 592, in raise_view_error
    raise ValueError(message)
ValueError: Field `state` does not exist

Error context:
View `view.demo.form`
[view_id: 1710, xml_id: gunalan_demo.request_form, model: car.request, parent_id: n/a]



models.py:
# -*- coding: utf-8 -*- from odoo import models, fields, api , _ class gunalan_demo(models.Model): _name = 'car.request' #Tables in DB =>car_request _description = 'demo module' name = fields.Char(string="Request_demo",required = True ,) date_from = fields.Datetime(string='starting date',default=fields.Datetime.now(),) date_to = fields.Datetime(string='Ending date',required=False,) emplyoee_id= fields.Many2one(comodel_name="hr.employee", string="Emplyoee ", required=True,) car_id = fields.Many2one(comodel_name="fleet.vehicle", string="Car ", required=True,) state = fields.Selection(string="Status", selection=[('draft', 'Draft'), ('confirm', 'Confirm'),('validate','Validate'),('refuse','Refuse')('approved','Approved'),], default="draft", )
views.xml:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
  <data>

    <record id ="request_form" model ="ir.ui.view">
      <field name="name">view.demo.form</field>
      <field name="model">car.request</field>
      <field name="arch" type="xml">
        <form string ="Car Request Form">
          
          <header>
            <!--<button name="" string="" class="oe_highlight" states="" type=""/>-->
            <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate,refuse,approved"/>
          </header>

          <sheet>
            <div class="oe_title">
              <label for="name" class="oe_title_only"/>
              <h1>
                <field name="name" placeholder="Request Demo"/>
                </h1>
            </div>  
            <group>
              <group>
                  <field name="date_from"/>
                  <field name="date_to"/>
              </group>
              <group>
                <field name="emplyoee_id"/>
                <field name="car_id"/>

              </group>  
            </group>


          </sheet>
        </form>
      </field>
    </record>

    <record id='request_tree' model='ir.ui.view' >
        <field name='name'>view.demo.tree</field>
        <field name='model'>car.request</field>
        <field name='arch' type='xml'>
            <tree string='Car Request Tree'>
                <field name="name"/>
                <field name="emplyoee_id"/>
                <field name="car_id"/>
                <field name="date_from"/>
                <field name="date_to"/>
            </tree>
        </field>
    </record>

    <record id="action_request_views" model="ir.actions.act_window">
      <field name="name">Car Request</field>
      <field name="type">ir.actions.act_window</field>
      <field name="res_model">car.request</field>
      <field name="view_mode">tree,form</field>
      <field name="help" type="html">
        <p class="oe_view_nocontent_create">
          Car Request
        </p><p>
          Click here to add
        </p>
      </field>
    </record>

    <!-- This Menu Item will appear in the Upper bar, That's why It needs NO parent or action -->
    <menuitem id="menu_car_request_root" name="Car Request" sequence="10"/>
    <menuitem id="menu_car_request_categ" name="Car Request" parent="menu_car_request_root" sequence="1"/>
    <menuitem id="menu_car_request" name="Car Request" parent="menu_car_request_categ" action="action_request_views" sequence="1"/>
  </data>
</odoo>




Avatar
Discard
Best Answer

Hey Madara,

You're getting this error because you made a mistake in the state field assignment. After the ('refuse','Refuse') tuple, you forgot to insert a comma. Please locate the code below, which will assist you in resolving this issue.

state = fields.Selection(string="Status", selection=[('draft', 'Draft'), ('confirm', 'Confirm'),('validate','Validate'),('refuse','Refuse'),('approved','Approved'),], default="draft", )

Thanks & Regards,
Email: odoo@aktivsoftware.com
Skype: kalpeshmaheshwar

Avatar
Discard