Fields used in Odoo 8

Other topics

Remarks:

Odoo and ORM: Odoo uses ORM(Object Relational Mapping) technique to interact with database. ORM will help to create a virtual object database that can be used within from the Python. In ORM technique each model is represented by a class that subclasses Models.model.

Models.model is the main super class for regular database persisted Odoo models. Odoo models are created by inheriting from this class.

Example:

class Employee(Models.model):
    _name = 'module.employee'

    #Rest of the code goes here

Here _name is a structural attribute, which tells the system about the name of the database table to be created.

Each model has a number of class variables, each of which represents a database field in the model. Each field is represented by an instance of a openerp.fields.Field class. Fields in Odoo are listed below..

1 Boolean Field

ex: flag = fields.Boolean()

2 Char Field

ex: flag = fields.Char()

3 Text

ex: flag = fields.Text()

4 Html

ex: flag = fields.Html()

5 Integer

ex: flag = fields.Integer()

6 Float

ex: flag = fields.Float()

7 Date

ex: flag = fields.Date()

8 Datetime

ex: flag = fields.Datetime()

9 Selection

ex: flag = fields.Selection()

10 Many2one

ex: flag = fields.Many2one()

11 One2many

ex: flag = fields.One2many()

12 Many2many

ex: flag = fields.Many2many()

Examples fields of Odoo 8

Odoo uses ORM(Object Relational Mapping) technique to interact with database. ORM will help to create a virtual object database that can be used within from the Python. In ORM technique each model is represented by a class that sub-classes Models.model. Models.model is the main super class for regular database persisted Odoo models. Odoo models are created by inheriting from this class

name = fields.Char(string='New Value')

flag = fields.Boolean(string='Flag',default=False)

amount = fields.Float(string='Amount',digits=(32, 32))

code = fields.Selection(string='Code',selection=[('a', 'A'),('b','B')])

customer = fields.Many2one(comodel_name='res.users')

sale_order_line = fields.One2many(comodel_name='res.users', inverse_name='rel_id')

tags = fields.Many2many(comodel_name='res.users',
                        relation='table_name',
                        column1='col_name',
                        column2='other_col_name')

Parameters:

ParametersDescription
string="Name"Optional label of the field
compute="_compute_name_custom"Transform the fields into computed fields
store=TrueIf computed it will store the result
select=TrueForce index on field
readonly=TrueField will be readonly in views
inverse="_write_name"On update trigger
required=TrueMandatory field
translate=TrueTranslation enable
help='blabla'Help tooltip text
comodel_name="model.name"Name of the related model
inverse_name="field_name"relational column of the opposite model
relation='many2many_table_name'relational table name for many2many
columns1='left_column_name'relational table left column name
column2='right_column_name'relational table right column name

Contributors

Topic Id: 8152

Example Ids: 26236

This site is not affiliated with any of the contributors.