Odoo8:当一个字段在表单侧被隐藏时,有一种通用的方法将其重置为默认值吗?

Odoo8:当一个字段在表单侧被隐藏时,有一种通用的方法将其重置为默认值吗?,odoo,odoo-8,odoo-view,Odoo,Odoo 8,Odoo View,我的模型的用途 我的模型是一个帮助台,根据请求包含多个字段。当用户选择其请求时,将显示与此请求相关的字段 我使用布尔字段和相关字段之间的关系(每个相关字段一个布尔字段)。换句话说,布尔字段就像相关字段的可见性开关 当布尔字段为True时,相关字段可见。否则,该字段将不可见 我的问题 如果用户想要更改请求,但他之前填写了前一个请求的字段,则前一个字段(其中一些字段必须不可见)仍然会获得用户输入的值。如果这些不可见字段的值仍然与默认值不同,我无法完成请求 我如何避免这个问题 实际上,我已经创建了一个

我的模型的用途

我的模型是一个帮助台,根据请求包含多个字段。当用户选择其请求时,将显示与此请求相关的字段

我使用布尔字段和相关字段之间的关系(每个相关字段一个布尔字段)。换句话说,布尔字段就像相关字段的可见性开关

当布尔字段为
True
时,相关字段可见。否则,该字段将不可见

我的问题

如果用户想要更改请求,但他之前填写了前一个请求的字段,则前一个字段(其中一些字段必须不可见)仍然会获得用户输入的值。如果这些不可见字段的值仍然与默认值不同,我无法完成请求

我如何避免这个问题

实际上,我已经创建了一个states表(booleans表),它对应于根据请求必须显示(或不显示)的每个字段的可见性

因此,如果用户选择了一个请求,此时,我通过将状态表的相应布尔值分配给布尔字段来设置字段的可见性

def更改可见性状态(自):
布尔值_字段_1=False
布尔值_字段_2=真
#布尔字段的其他赋值
一旦设置了可见性,我就用一个方法将每个字段(不管是否相关)设置为它们的默认值

#由于某种原因隐藏该字段时
def reset_为_默认值_每_字段(自我)
my_字段=默认值
#其他字段设置为默认值
使用此方法,我现在可以确定隐藏字段将重置为其默认值,即使它们以前已填充


正如我的问题所说,我想知道是否有一种通用的方法或比我的方法更好的方法,将每个隐藏字段设置为默认值。

您需要创建一个组,例如,我创建了一个组,如下所示

<record id = "group_admin_only" model="res.groups">
            <field name="name">Show to admin only</field>
  </record>

仅向管理员显示
然后,您可以在要显示该字段的组中添加用户

然后将该组添加到要隐藏的字段中,如下所示

<field name="any_field" groups="your_module.group_admin_only"/>


现在,只有管理员用户才能看到此字段。

隐藏是什么意思?@GeorgeDaramouskas当它在表单端(网页)不可见时,您可以将新的自定义组设置为字段,以便该字段可以按默认值填充自身,并且对用户不可见。您是否有此应用程序的示例@VikiChavada?是的。让我写下答案。我只想在某些字段在表单端不可见时重置为默认值,而不是在用户之间,因为这些字段必须对每个用户都可用。它们只会根据请求隐藏。不可见字段的默认值是固定的吗?事实上,我不能告诉你,因为我不在工作:-(.周一我会发布一个答案,如果它有效(或无效).但正如我在之前的评论中所说,您根据用户回答了我的问题,我不知道这是否适用于我的问题,这一定不取决于用户。我对它进行了测试,它在您的情况下(用户可见性)效果良好,但在我的情况下不起作用:-(。顺便说一下,我在问题中添加了更多信息。