Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Campos básicos
Boolean
Este tipo de campo solo admite dos posibles valores: verdadero o falso.
boolean_field = fields.Boolean()
Char
Tipo de campo formado por una cadena de caracteres de longitud limitada, que se puede ajustar a
través de parámetros.
char_field = fields.Char()
Opciones especificas:
Integer
Tipo de campo que guarda valores numéricos enteros. Si el valor no está establecido, se considera 0.
int_field = fields.Integer()
Float
Tipo de campo que almacena valores decimales. Si el valor no está establecido, se considera 0,0.
float_field = fields.Float()
float_field = fields.Float(digits=(32, 32))
float_field = fields.Float(digits=lambda cr: (32, 32))
Digits permite fijar el número dígitos. El parámetro puede ser una tupla (dígitos de la parte entera,
dígitos de la parte decimal) o una llamada que devuelve una tupla.
Campos avanzados
Date
date_field = fields.Date()
Opciones específicas:
context_today: devuelve la fecha del día actual, está basado en la zona horaria.
today: devuelve la fecha actual en formato cadena.
from_string: devuelve el valor datetime.date() en tipo cadena.
to_string: retorna el valor de la función datetime.date en formato cadena.
Datetime
datetime_field = fields.Datetime()
Opciones específicas:
Binary
binary_field = fields.Binary()
Image
Encapsula una imagen, extendiendo Binary. Si el tamaño de la imagen es mayor que el límite
max_width/max_height de píxeles, la imagen se redimensionará hasta el límite manteniendo la
relación de aspecto.
Monetary
Tipo de campo que almacena un texto en la base de datos, que permite al usuario hacer una
selección entre varios valores predefinidos. La selección se puede establecer como una lista de
tuplas o una llamada que devuelva una lista de tuplas.
Opciones especificas:
Selection: lista de tuplas o una función que retorna una lista de tuplas.
Size: la opción size=1 es obligatoria cuando se está usando indices que son enteros y no cadenas.
Text
text_field = fields.Text()
HTML
html_field = fields.Html()
Reference
Tipo de campo que almacena una referencia arbitraria de un modelo y una fila.
Opciones especificas:
selection: Una lista de tuplas o llamada que coge un grupo de registros como entrada.
Many2oneReference
A diferencia de los campos referencia, el modelo debe especificarse en un campo Char, cuyo
nombre debe especificarse en el atributo model_field para el campo Many2oneReference actual.
Los campos se pueden calcular (en lugar de leer directamente desde la base de datos) utilizando el
parámetro de cálculo. Debe asignar el valor calculado al campo. Si usa los valores de otros campos,
debe especificar esos campos usando depends().
Campos relacionados
Simplemente establece el argumento del nombre relacionado con su modelo. El parámetro store nos
permite almacenar el valor en la base de datos.
Campos relacionales
Many2one
field_id = fields.Many2one('res.users')
field_id = fields.Many2one(comodel_name='res.users')
One2Many
comodel_name indica el nombre del model opuesto y inverse_name la columna del modelo
opuesto.
Many2many
Tipo de campo que almacena una relación de muchos a muchos. Crea una nueva tabla con las
claves primarias de ambos.
field_ids = fields.Many2many('res.users')
field_ids = fields.Many2many(comodel_name='res.users',
relation='table_name',
column1='col_name',
column2='other_col_name')
comodel_name indica nombre del modelo opuesto, relation el nombre de la tabla relacionada,
column1 es el nombre de la columna que proviene del identificador de la tabla de la izquierda de la
relación y column2 el nombre de la columna que proviene del identificador de la tabla de la derecha
de la relación.
Model.write_uid: almacena quién actualizó por última vez el registro (relación Many2one a
res.users).