【问题标题】:How to create custom char ID field in Odoo model?如何在 Odoo 模型中创建自定义字符 ID 字段?
【发布时间】:2022-01-04 20:55:33
【问题描述】:

在 odoo id 中,特殊字段总是一个自动递增的整数。但是对于我的 Odoo 应用程序,我希望该字段 (id) 成为特定模型的 Char。该 id 也将用于 Many2One 关系。我怎样才能做到这一点?我正在使用 Odoo 14

【问题讨论】:

  • Odoo 在设置模型时会覆盖任何id 字段

标签: python odoo odoo-14


【解决方案1】:

我不建议操作 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 接受三个参数:

  • 参数的唯一名称
  • 约束。在本例中,我们使用了唯一的,但您可以使用任何 sql 约束。我在 odoo 中经常使用 CHECK。您可以在此处了解有关 SQL 约束的更多信息:You can learn more about SQL Constraints here
  • 约束失败时的错误消息。

您还可以在 odoo's developer docs 上找到有关约束的更多信息

祝你好运!

【讨论】:

    猜你喜欢
    • 2015-04-16
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多