{"push_id":755477656,"size":7,"distinct_size":7,"ref":"refs/heads/master-optimize_setup_models-rco","head":"ae0c0b40af9964e53e8e05c148f348daf758226b","before":"daf94f9a5bf451e97eee01efc374cf44ffc833bc","commits":[{"sha":"5c37dcc60820718f2f85607e3d46213c6a02ee91","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] fields: rename methods `set_class_name` and `setup`, and change their API\n\nThe API of those method has been modified to take a recordset instead of a class\nas parameter:\n\n    field.set_class_name(cls, name)   ->   field.setup_base(model, name)\n    field.setup(env)                  ->   field.setup_full(model)\n\nThe recordset gives access to an environment, and will ease code reorganization\nin the field's setup methods.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/5c37dcc60820718f2f85607e3d46213c6a02ee91"},{"sha":"0ae81a1682bfe22bfc3486a23f7d63530770df0d","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] models: optimize `_setup_base()` by not retrieving proper fields\n\nThe method uses the costly `inspect.getmembers` to retrieve the fields defined\non a model's classes.  If the model is not modified by a module installation,\nwe simply reuse the fields retrieved in a former model setup.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/0ae81a1682bfe22bfc3486a23f7d63530770df0d"},{"sha":"b992cfcecd0e12a2d6afab478475fc2ddf107094","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] fields: optimize `setup_base()` for regular (non-related) fields\n\nSplit the methods `_setup_regular` and `_setup_related` in `base` and `full`\nparts, such that the `base` part is done in `setup_base()`, and the `full` part\nis done in `setup_full()`.\n\nThis optimizes the setup of models during the installation of modules: regular\nfields are not set up again from scratch.  Only related fields (which are less\ncommon) are always set up from scratch.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/b992cfcecd0e12a2d6afab478475fc2ddf107094"},{"sha":"371626e5e1e66de830f4a1493beb75bd0da2fe32","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] fields: do not use methods bound to model classes\n\nAvoid this reference from a field to a model class; this will allow the sharing\nof fields across model classes.  Use `getattr` on class instances instead.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/371626e5e1e66de830f4a1493beb75bd0da2fe32"},{"sha":"25f82b6fd1cf12e3bdfebe402f75da6701253511","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] fields: move `computed_fields`, `inverse_fields` and `_triggers` to models\n\nThis removes an obstacle for sharing fields across registries: regular fields\nno longer contain metadata referring to other models/fields.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/25f82b6fd1cf12e3bdfebe402f75da6701253511"},{"sha":"a96c69e0f6ed69752e373e41ac0cfcb2f97d9f42","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] fields: simplify implementation of method `setup_triggers`","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/a96c69e0f6ed69752e373e41ac0cfcb2f97d9f42"},{"sha":"ae0c0b40af9964e53e8e05c148f348daf758226b","author":{"email":"fcee45b878db1f337818c5c606c1542797080a40@openerp.com","name":"Raphael Collet"},"message":"[IMP] models: share fields across registries when possible\n\nWhen a model is set up, it can retrieve fields from a similar model (with the\nsame base classes).  Only proper (not inherited), regular (non-related) fields\ncan be shared that way, since other fields may depend on other models.","distinct":true,"url":"https://api.github.com/repos/odoo-dev/odoo/commits/ae0c0b40af9964e53e8e05c148f348daf758226b"}]}