【发布时间】:2022-08-20 23:44:48
【问题描述】:
我想创建一个具有多个专业类别(父元素)的字段,最后会出现与该类别对应的专业,如产品模型的产品类别字段中。
我怎样才能做到这一点?
-
简单的解决方案:喜欢产品类别? ;-) 最后它是一个新模型,其中包含父子关系。这种关系由其自身的 many2one 字段实现,通常命名为
parent_id。
标签: odoo
我想创建一个具有多个专业类别(父元素)的字段,最后会出现与该类别对应的专业,如产品模型的产品类别字段中。
我怎样才能做到这一点?
parent_id。
标签: odoo
您可以定义一个显示父类别名称的计算字段并将其设置为_rec_name,以让Odoo 在Many2one 字段中将其用作display name。
例子:
class ProfessionCategory(models.Model):
_name = "profession.category"
_description = "Profession Category"
_rec_name = 'complete_name'
name = fields.Char('Name', index=True, required=True)
complete_name = fields.Char(
'Complete Name', compute='_compute_complete_name', recursive=True,
store=True)
parent_id = fields.Many2one('profession.category', 'Parent Category', index=True, ondelete='cascade')
@api.depends('name', 'parent_id.complete_name')
def _compute_complete_name(self):
for category in self:
if category.parent_id:
category.complete_name = '%s / %s' % (category.parent_id.complete_name, category.name)
else:
category.complete_name = category.name
【讨论】: