42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
# -*- coding: utf-8 -*-
|
|
from openerp import models, fields, api, osv
|
|
|
|
|
|
# We just create a new model
|
|
class Unit(models.Model):
|
|
_name = 'test.unit'
|
|
|
|
_columns = {
|
|
'name': osv.fields.char('Name', required=True),
|
|
'state': osv.fields.selection([('a', 'A'), ('b', 'B')],
|
|
string='State'),
|
|
}
|
|
|
|
surname = fields.Char(compute='_compute_surname')
|
|
|
|
@api.one
|
|
@api.depends('name')
|
|
def _compute_surname(self):
|
|
self.surname = self.name or ''
|
|
|
|
|
|
# We want to _inherits from the parent model and we add some fields
|
|
# in the child object
|
|
class Box(models.Model):
|
|
_name = 'test.box'
|
|
_inherits = {'test.unit': 'unit_id'}
|
|
|
|
unit_id = fields.Many2one('test.unit', 'Unit', required=True,
|
|
ondelete='cascade')
|
|
field_in_box = fields.Char('Field1')
|
|
|
|
|
|
# We add a third level of _inherits
|
|
class Pallet(models.Model):
|
|
_name = 'test.pallet'
|
|
_inherits = {'test.box': 'box_id'}
|
|
|
|
box_id = fields.Many2one('test.box', 'Box', required=True,
|
|
ondelete='cascade')
|
|
field_in_pallet = fields.Char('Field2')
|