I’m trying to implement an abstract class on OpenERP 6. But I don’t have any idea. For example. I have “a” and “b” classes. “b” class inherits “a” (See below code)
class a(osv.osv):
_name = 'a'
_columns = {
'state': fields.selection(A_WORKFLOWS, 'State', readonly=True)
}
# create an object
a()
class b(osv.osv):
_name = 'b'
_inherit='a'
_columns = {
'name' : fields.char('Name', size=64, required=True)
}
# create an object
b()
When I upgrade module “a” class generated in database. I don’t want it. I want to use the “a” class like abstract class in OpenERP.
Starting with OpenERP 6.1 (the upcoming release), openerp.osv.orm is providing an AbstractModel class. Before that, it was possible to achieve what you want by using an osv_memory as a base class.