Atributos en la Definicion de Modelos en OpenERP
Objetos Introducción
Para
definir un nuevo objeto, se debe definir una
nueva clase Python entonces una instancia de
ella. Esta
clase debe heredar de la clase OSV en el módulo
osv.
Definición de objeto
La primera
línea de la definición de objeto siempre será de
la forma:
Un objeto
se define declarando algunos campos con nombres
predefinidos en la clase. Dos
de ellos son necesarios (_name y _columns), el
resto son opcionales. Los
campos predefinidos son:
Campos predefinidos
- _auto
- Determina si una tabla de PostgreSQL correspondiente debe ser generado automáticamente del objeto. Configuración de _auto en False puede ser útil en caso de objetos OpenERP generados a partir de puntos de vista PostgreSQL. Consulte la sección "Informes de Visitas PostgreSQL" para obtener más detalles.
- _columns (requerido)
- Se definen los campos que utilizaremos en nuestro Modelo de Datos, al final estos campos se traducen a Columnas en tablas de PostgreSQL.
- _constraints
- Las restricciones sobre el objeto. Validaciones en Python que aplicamos a la Información que introduce el Usuario.
- _sql_constraints
- La restricción de SQL en el objeto. Validaciones en SQL que aplicamos a la Información que introduce el Usuario a diferencia de las validaciones en Python estas se aplican en la capa de Datos.
- _defaults
- Los valores por defecto para algunos de los campos del objeto. Estos valores por defecto aparecen al momento de crear un registro en nuestro Modelo de Datos, se permiten funciones para obtener valores por Default, funciones Lambda, etc...
- _inherit
- El nombre del objeto osv que el objeto actual hereda. Este solo se utiliza cuando heredamos Modelos o Clases en OpenERP.
- _inherits
- La lista de objetos OSV el objeto hereda. Esta lista deberá figurar en un diccionario python de la forma: {'name_of_the_parent_object': 'name_of_the_field', ...}.
- _log_access
- Determina si el acceso de escritura al recurso debe estar conectado. Si es verdad, se crearán cuatro campos en la tabla de SQL: create_uid, create_date, write_uid, write_date. Estos campos representan, respectivamente, el ID del usuario que creó el registro, la fecha de creación del registro, el identificador del usuario que modificó el registro, y la fecha de la última modificación. Estos datos pueden ser obtenidos usando el método perm_read.
- _name (requerido)
- Nombre del objeto. Valor predeterminado: Ninguno. Este sera el nombre del Modelo para OpenERP y el que utlizaremos para llamar modelos con el metodo pool.get.
- _order
-
Nombre de los campos que se utilizan para ordenar los resultados de la búsqueda y métodos de lectura.Valor por defecto: 'id'.Ejemplos:
- _rec_name
- Nombre del campo en el que se almacena el nombre de cada recurso. Valor por defecto: "nombre". Nota: por defecto, el método name_get simplemente devuelve el contenido de este campo.
- _sequence
- Nombre de la secuencia SQL que administra los identificadores para este objeto. Valor predeterminado: Ninguno.
- _sql
- Código SQL ejecutado durante la creación del objeto (sólo si _auto es verdadero). Esto significa que el código se ejecuta después de crear la tabla.
- _table
- Nombre de la tabla SQL. Valor por defecto: (.) El valor del campo _name anterior con los puntos reemplazada por guiones bajos (_).
0 comentarios:
Publicar un comentario