Buscar..


Introducción

Esta es la sección donde puede encontrar los detalles sobre los campos que se están utilizando en Odoo 8

Parámetros

Parámetros Descripción
string = "Nombre" Etiqueta opcional del campo.
compute = "_ compute_name_custom" Transformar los campos en campos computados.
store = True Si se calcula almacenará el resultado.
select = True Índice de fuerza en campo
readonly = True El campo será de solo lectura en vistas.
inverse = "_ write_name" En la activación de actualización
requerido = Verdadero Campo obligatorio
traducir = Verdadero Habilitar la traducción
ayuda = 'blabla' Texto de ayuda de ayuda
comodel_name = "model.name" Nombre del modelo relacionado.
inverse_name = "field_name" columna relacional del modelo opuesto
relación = 'many2many_table_name' nombre de la tabla relacional para many2many
columns1 = 'left_column_name' tabla relacional izquierda columna nombre
column2 = 'right_column_name' tabla relacional derecha nombre de columna

Observaciones

Odoo y ORM: Odoo utiliza la técnica ORM (Mapeo relacional de objetos) para interactuar con la base de datos. ORM ayudará a crear una base de datos de objetos virtuales que se puede usar desde Python. En la técnica ORM, cada modelo está representado por una clase que subclasifica Models.model.

Models.model es la súper clase principal para los modelos de Odoo de base de datos regulares. Los modelos Odoo se crean heredando de esta clase.

Ejemplo:

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

    #Rest of the code goes here

Aquí _name es un atributo estructural, que le dice al sistema sobre el nombre de la tabla de base de datos que se creará.

Cada modelo tiene una serie de variables de clase, cada una de las cuales representa un campo de base de datos en el modelo. Cada campo está representado por una instancia de una clase openerp.fields.Field. Los campos en Odoo se enumeran a continuación.

1 campo booleano

ex: flag = fields.Boolean()

2 Char Field

ex: flag = fields.Char()

3 texto

ex: flag = fields.Text()

4 html

ex: flag = fields.Html()

5 entero

ex: flag = fields.Integer()

6 flotador

ex: flag = fields.Float()

7 fecha

ex: flag = fields.Date()

8 fecha y hora

ex: flag = fields.Datetime()

9 Selección

ex: flag = fields.Selection()

10 Many2one

ex: flag = fields.Many2one()

11 One2many

ex: flag = fields.One2many()

12 Many2many

ex: flag = fields.Many2many()

Ejemplos de campos de Odoo 8

Odoo utiliza la técnica ORM (Object Relational Mapping) para interactuar con la base de datos. ORM ayudará a crear una base de datos de objetos virtuales que se puede usar desde Python. En la técnica ORM, cada modelo está representado por una clase que subclasifica Models.model. Models.model es la súper clase principal para los modelos de Odoo de base de datos regulares. Los modelos Odoo se crean heredando de esta clase.

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')


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow