Odoo 创建要继承的空选择

Odoo 创建要继承的空选择,odoo,selection,Odoo,Selection,我已经创建了一个父模型,它有一个选择字段。 此模式必须从提供服务的类继承,因此在子类中我使用fields.Selection(Selection_add=..)。是否可以在父类中创建一个“空”选择,该选择只会填充继承它的模型的选择字段? 前 class GenericService(models.Model): _name='generic.service' 选择类型=字段。选择( [('select_-type',[选择账户],],默认值='select_-type', string=ux0(

我已经创建了一个父模型,它有一个选择字段。 此模式必须从提供服务的类继承,因此在子类中我使用fields.Selection(Selection_add=..)。是否可以在父类中创建一个“空”选择,该选择只会填充继承它的模型的选择字段? 前

class GenericService(models.Model):
_name='generic.service'
选择类型=字段。选择(
[('select_-type',[选择账户],],默认值='select_-type',
string=ux0(“服务类型”),
必需=真
类特定服务(model.model):
_继承='generic.service'
选择类型=字段。选择(
选择添加=[('sftp','sftp')],
)

我想避免在泛型模型选择中添加默认字段,我的替代方法是创建一个控制插入的方法,但我想知道是否可以避免该方法。

如果您这样继承,则继承时不使用名称。然后您只得到1个模型
泛型.service
和所有
选择\u add=[]
添加了选择

如果你加上

class GenericService(models.Model):
_name='generic.service'
选择类型=字段。选择([],string=“服务类型”)
类SpecificServiceA(model.model):
_继承='generic.service'
选择类型=字段。选择(
选择项_add=[('sftp','sftp')],必选项=True
)
类SpecificServiceB(model.model):
_继承='generic.service'
选择类型=字段。选择(
选择内容添加=[('https','https')],必需=True
)
您将得到名为
“generic.service”
的模型和选择
[('sftp','sftp'),('https','https')]


我相信字符串和选择名称会自动添加到翻译列表中。无需

您也可以使用Odoo的mixin功能,这有点像抽象类型/类。以下是您需求上下文中的示例:

类ServiceMixin(models.AbstractModel):
_name=“service.mixin”
定义获取类型选择(自):
“”“返回类型选择字段的2元组列表
旨在通过继承模型进行扩展。”“”
返回[]
类型\选择=字段。选择(
selection=“\u get\u type\u selection”,string=“type”)
类别ServiceA(models.Model):
_name=“service.a”
_inherit=[“service.mixin”]
定义获取类型选择(自):
“”“返回类型选择字段的2元组列表”“”
返回[('a','a'),('b','b')]
B类服务(models.Model):
_name=“service.b”
_inherit=[“service.mixin”]
定义获取类型选择(自):
“”“返回类型选择字段的2元组列表”“”
返回[('a','a'),('c','c')]

在数据库中,这将导致两个新表:
service\u a
service\u b
。因此,您确实有两个新的Odoo模型,它们互不依赖。

非常感谢!