Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Odoo Technical Concepts Summary

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Próximo SlideShare
odoo 11.0 development (CRUD)
odoo 11.0 development (CRUD)
Cargando en…3
×

Eche un vistazo a continuación

1 de 13 Anuncio

Odoo Technical Concepts Summary

Descargar para leer sin conexión

Odoo Technical Concepts Summary that helps new developers to summarize the needed concepts like fields types and their attributes and some other notes.

Odoo Technical Concepts Summary that helps new developers to summarize the needed concepts like fields types and their attributes and some other notes.

Anuncio
Anuncio

Más Contenido Relacionado

Presentaciones para usted (20)

Similares a Odoo Technical Concepts Summary (20)

Anuncio

Más reciente (20)

Odoo Technical Concepts Summary

  1. 1. Odoo Mastering Odoo 11.0 Development Mohamed Magdy
  2. 2. OpenObject Concepts ● OOP Class is Object. ● OOP Instance is Resource. ● There is an object for every type of resource, and not an object per resource. ● MVC: ○ Model: PostgreSQL tables. ○ View: Defined in XML files. ○ Controller: Odoo Objects.
  3. 3. Module Structure module_name ● __init__.py ● __manifest__.py ● module_name.py ● views/ ● security/ ● demo/ ● wizard/ ● report/ ● i18n/ ● static/
  4. 4. Objects ● In Odoo, Objects are Classes define new types. ● Models ○ Add new Tables, Fields in Database. ○ Add SQL Constraints. ● Controllers ○ Methods to compute Values. ○ Onchange Methods. ○ Methods (Logic) behind Buttons.
  5. 5. Fields Types (MorePython.com) ● Boolean: is_new_field = fields.Boolean(string="", ) ● Char: new_field = fields.Char(string="", required=False, ) ● Text: new_field = fields.Text(string="", required=False, ) ● Integer: new_field = fields.Integer(string="", required=False, ) ● Float: new_field = fields.Float(string="", required=False, ) ● Date: new_field = fields.Date(string="", required=False, ) ● Datetime: new_field = fields.Datetime(string="", required=False, ) ● Selection: new_field = fields.Selection(string="", selection=[('', ''), ('', ''), ], required=False, ) ● Many2many: new_field_ids = fields.Many2many(comodel_name="", relation="", column1="", column2="", string="", ) ● One2many: new_field_ids = fields.One2many(comodel_name="", inverse_name="", string="", required=False, ) ● Many2one: new_field_id = fields.Many2one(comodel_name="", string="", required=False, ) ● Binary: new_field = fields.Binary(string="", )
  6. 6. Common Attributes (MorePython.com) Some attributes are common: ● string: The label of the field seen by users. ● help: The tooltip of the field seen by users. ● readonly: Determines if the field is read-only or editable (boolean). ● required: Determines if the field is required or optional (boolean). ● index: Determines if the field is indexed inDB (boolean). ● default: The default value of the field, it can be static or computed value. ● states: A dictionary mapping state values to lists of UI attribute-value. ● groups: Comma-separated lists of group XML ids. ● copy: Whether to copy the field value when the record is duplicated or not. ● old_name: The old name of this field, so that ORM rename at migration. ● compute: The name of the method that computes the field’s value.
  7. 7. Common Attributes (MorePython.com) Some attributes are common: ● inverse: The name of a method that inverses the field. ● search: The name of a method that implement search on the field. ● store: Determines if the field is stored in DB (boolean). ● compute_sudo: Determines if the field should be recomputed as superuser to bypass access rights (boolean). ● related: To get the field’s value automatically from the source field. ● company_dependant: If the field is company-dependant (boolean).
  8. 8. Specific Attributes (MorePython.com) Some attributes are for specific fields: Char: ● size: The maximum size of the values stored for that field. ● translate: Enables the translation of the field’s value. Text: ● translate: Enables the translation of the field’s value. Float: ● digits: A pair (total, decimal), or a function taking a database cursor and returning a pair (total, decimal)
  9. 9. Specific Attributes (MorePython.com) Some attributes are for specific fields: Selection: ● selection: Specifies the possible values for this field. ● add_selection: Provides an extension of the selection in the case of an overridden field. Monetary: ● currency_field: Name of the field holding the currency this monetary field is expressed in.
  10. 10. Specific Attributes (MorePython.com) Some attributes are for specific fields: Many2one: ● comodel_name: Name of the target model (string). ● domain: An optional domain to set on candidate values on the client side. ● context: An optional context to use on the client side when handling that field (dictionary). ● ondelete: Determines what to do when the referred record is deleted. Possible values: set null, restrict or cascade. ● auto_join: Determines if JOINS are generated upon search through that field (boolean). ● delegate: Set it to ‘True’ to make fields of the target model accessible from the current model.
  11. 11. Specific Attributes (MorePython.com) Some attributes are for specific fields: One2many: ● comodel_name: Name of the target model (string). ● domain: An optional domain to set on candidate values on the client side. ● context: An optional context to use on the client side when handling that field (dictionary). ● inverse_name: Name of the inverse ‘Many2one’ field in ‘comodel_name’. ● auto_join: Determines if JOINS are generated upon search through that field (boolean). ● limit: Optional limit to use upon read (integer).
  12. 12. Some attributes are for specific fields: Many2many: ● comodel_name: Name of the target model (string). ● relation: Optional limit to use upon read (integer). ● domain: An optional domain to set on candidate values on the client side. ● context: An optional context to use on the client side when handling that field (dictionary). ● column1: An optional name of the column referring to ‘these’ records in the table ‘relation’. ● column2: An optional name of the column referring to ‘those’ records in the table ‘relation’. ● limit: Optional limit to use upon read (integer). Specific Attributes (MorePython.com)
  13. 13. Odoo Mastering Odoo 11.0 Development Mohamed Magdy

×