Odoo Help


A default value isn't applied on client view! Odoo 10

What is wrong with the following code? I set default value preset_quantity as 1.0, but in the view it appears 0.0 instead. 

I'm using Odoo 10

python code

class stock_picking_barcode(models.Model): 
 _name = 'stock.picking'
 _inherit = ['stock.picking', 'barcodes.barcode_events_mixin']

 preset_quantity = fields.Float(store=False,
     help="The quantity will be applied to the pending product.")

 def on_barcode_scanned(self, barcode):


<record model="ir.ui.view" id="view_picking_barcode_form">
     <field name="name">stock.picking.barcode.form</field>
     <field name="model">stock.picking</field>
     <field name="inherit_id" ref="stock.view_picking_form"/>
     <field name="arch" type="xml">
         <notebook position="before">
         <group attrs="{'invisible': [('state', 'not in', ('assigned'))]}" class="oe_edit_only">
             <field name="_barcode_scanned" widget="barcode_handler"/>
             <field name="preset_quantity" readonly="1"/>



I just found the cause myself. In the initial state, the default value is correct but the field is hidden as stated in "attrs =". When state is change to "assigned", the value is somehow cleanup, so that it seems the default value won't work.

Use "compute" instead of default to solve this 

preset_quantity = fields.Float(store=False, compute="_get_preset_quantity")
def _get_preset_quantity(self):
  if self.state == 'assigned':
    self.preset_quantity = 1.0

About This Community

This platform is for beginners and experts willing to share their Odoo knowledge. It's not a forum to discuss ideas, but a knowledge base of questions and their answers.


Odoo Training Center

Access to our E-learning platform and experience all Odoo Apps through learning videos, exercises and Quizz.

Test it now

Question tools

1 follower(s)


Asked: 10/13/16, 2:47 AM
Seen: 1729 times
Last updated: 10/13/16, 11:51 PM