我正在尝试在 OpenERP 6 上实现一个抽象类。但我没有任何想法。例如。我有“a”和“b”类(class)。 “b”类继承“a”(见下面的代码)
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()
当我升级数据库中生成的模块“a”类时。我不想要它。我想在OpenERP中使用像抽象类一样的“a”类。
最佳答案
我会继续您提出的解决方案。
它有创建 a
的不便。数据库上的表,但在我看来这是无关紧要的,因为它不会占用存储空间,因为 a
模型不会填充数据。
您还可以尝试另一种选择:声明 a
仅在继承模型中类公共(public)列(在您的示例中为 b
)。这在官方模块中使用两种不同的技术:检查 crm module ,crm_lead
模型,继承 crm_case
python 风格,以及 mail_thread
OpenERP 风格。
关于python - 如何在OpenERP上实现抽象类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8335548/