【发布时间】:2022-01-04 20:55:33
【问题描述】:
在 odoo id 中,特殊字段总是一个自动递增的整数。但是对于我的 Odoo 应用程序,我希望该字段 (id) 成为特定模型的 Char。该 id 也将用于 Many2One 关系。我怎样才能做到这一点?我正在使用 Odoo 14
【问题讨论】:
-
Odoo 在设置模型时会覆盖任何id 字段
在 odoo id 中,特殊字段总是一个自动递增的整数。但是对于我的 Odoo 应用程序,我希望该字段 (id) 成为特定模型的 Char。该 id 也将用于 Many2One 关系。我怎样才能做到这一点?我正在使用 Odoo 14
【问题讨论】:
我不建议操作 id 字段。相反,我建议您添加另一个 char 字段,然后您可以在模型上使用 _sql_constraints 属性。比如说,你唯一的 Char 字段是city,你可以使用下面的例子:
class MyModel(models.Model):
_name = 'my.model'
city = fields.Char(string='City', related='related.model', readonly=False)
_sql_constraints = [
('check_city_unique', 'UNIQUE(city)', 'The city is not unique')
]
_sql_constraints 接受三个参数:
您还可以在 odoo's developer docs 上找到有关约束的更多信息
祝你好运!
【讨论】: