La mayorĆa de mĆ©todos ORM tiene una serie de parĆ”metros comunes a todos ellos:
•
cr: Cursor de la base de datos
•
uid: Identificador del usuario actual
•
ids: Lista de enteros con los identificadores de los registros (o lista con un único entero cuando hay sólo un id)
•
context: Diccionario con los argumentos de contexto, como idioma, zona horaria, ...
Al definir nuestros modelos como herencia de la clase osv.osv permite que todos los métodos de ORM estén disponibles para la programación de los módulos. Estos métodos pueden ser invocados por los propios objetos, dentro de la clase Python, o desde fuera de la clase, obteniendo en primer lugar una instancia a través del concentrador (pooler) del sistema de ORM.
Contexto de los mƩtodos ORM
En OpenObject, el contexto tiene datos muy importantes, como el idioma en que se debe escribir un documento, si el campo de una función necesita actualizarse o no, ...
Cuando se efectúa una llamada a un método ORM, es probable que el objeto ya tenga un contexto y el OpenObject lo proporcione como un parÔmetro en casi todos los métodos. Si el objeto tiene un contexto, es muy importante que siempre se pase el mismo a todos los métodos a los que se llame.
Esta regla tambiƩn es aplicable a los mƩtodos ORM que escriba un programador. El programador debe esperar recibir un contexto como parƔmetro en todos los mƩtodos que desee llamar, y siempre debe pasar el contexto a todos los mƩtodos a los que llame.