【问题标题】:Table name is too long odoo 13表名太长odoo 13
【发布时间】:2020-06-30 17:48:26
【问题描述】:

我在添加二进制文件后收到此错误我删除了该文件但收到相同的错误

表名“n_hesaby_subscription_manager_subscription_manager_res_users_rel”过长

odoo.exceptions.ValidationError: ("Table name 'n_hesaby_subscription_manager_subscription_manager_res_users_rel' is too long", None) - - -

有人知道是什么意思吗,我没找到

【问题讨论】:

标签: odoo odoo-13


【解决方案1】:

从表名的外观来看,它是从 n_hesaby_subscription_manager_subscription_managerres.users 之间的 many2many 字段创建的,当您没有为关系表提供名称时,Odoo 将为您生成它 model_1_name_model_2_name_rel

所以在你的 many2many 定义中指定一个较短的名称

    m2m_field_name = fields.Many2many(comodel_name='res.users', 
           relation='put_nice_table_name_here',  
           column1='put_nice_and_short_field_name_here_to', 
           column2='user_id', 
           string='You field label')

我正在使用我的手机,抱歉我的简短回答希望您能理解,您可以查看 Odoo 标准模块,您会发现大量示例。 始终在 many2many 字段中指定关系的名称是防止意外行为的好习惯。

【讨论】:

  • 为什么我们需要 column1 和 column2?
  • 不,您不需要指定它们,如果您不指定它们,odoo 会选择那里的名称。唯一需要的参数是 comodel_name
猜你喜欢
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-21
  • 2020-07-18
  • 1970-01-01
  • 2021-08-14
  • 2022-12-13
相关资源
最近更新 更多