【问题标题】:select nothing in many2one widget在 many2one 小部件中不选择任何内容
【发布时间】:2019-06-20 17:16:19
【问题描述】:

我有一个 many2one 字段,它的选择无(例如 none、false、null)是正常且有效的状态。

但是默认情况下,Odoo 中的 many2one 小部件不允许空选择。设置记录后,用户无法使用普通小部件取消设置字段。

是否有一些标志或 Odoo 功能可用于启用空选择?

【问题讨论】:

  • 你能添加一些代码示例吗?通常“取消设置”Many2one 字段是没有问题的。只需删除内容并保存即可。
  • many2one 小部件当然允许空值。您只需删除该值并在下拉列表之外单击。这不适合你吗?

标签: odoo odoo-11


【解决方案1】:

如cmets中所述,当many2one小部件中的所有文本被移除并在外部单击时选择一个空值。

因此您可以从下拉列表中选择一个项目。当您删除部分项目名称时,它仍处于选中状态。当您删除字段中的所有文本时,选择变为空。我没有意识到这一点,因为我习惯于在下拉列表的顶部或底部有一个空行来表示空选择。

【讨论】:

  • 想回答这个问题,但是你想选择“无”(?)为什么什么都不选择,默认情况下什么都没有选择? ;) 但我也对此感到困惑。从可用性的角度来看,我发现必须删除所有字符才能重置字段很奇怪。但实际上这是一种很好的行为,因为它很少发生在您不小心输入要撤消的输入时
  • 我想重置一个(过滤器)字段,所以恢复为空选择。我同意 - 尽管不直观 - 这是一个很好的设计,因为在 99.9% 的情况下,用户想要并且应该选择一个合适的值,因此将 null 作为选择选项可能是不好的用户指导。因为删除所有字符是不直观的,所以用户故意这样做是为了恢复字段
  • 那是私有的,但是:我不知道这样的插件。这里是链接的地方...
【解决方案2】:

如果您想通过代码为 Many2one field 分配空值,请尝试以下操作:

self._your_many2one_field = 0

如果你想在Selection field 中选择空白,试试这个:

 self._your_selection_feild = False

【讨论】:

    猜你喜欢
    • 2021-12-31
    • 2012-02-19
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 2015-02-19
    • 2017-01-16
    • 2016-01-05
    • 1970-01-01
    相关资源
    最近更新 更多