我在Odoo中为帮助台创建了一个新模块,我有2个问题,我似乎无法修复或找到相关信息,因此需要一些帮助。
我创建了一个状态栏(代码):
state = fields.Selection({('new','New'), ('open','In Progress'), ('closed','Closed')}, "Status")
_defaults = {
'state': 'new'
}
<header>
<field name="state" widget="statusbar" statusbar_visible="new,open,closed" clickable="True"/>
即使我已经说过“新的,开放的,封闭的”,它在Odoo中显示为开放的,新的,封闭的。
我将状态默认设置为新的,即使我没有收到任何错误,当我点击创建时它显示状态为空白。
有关如何解决这些问题的任何想法?
答案 0 :(得分:2)
当您宣布您的字段时,您为其提供了一组选项,而不是列表选项。 Python中的集合并不保留有关项目顺序的信息,但是列表可以。要使您声明的订单得到尊重,您只需要用列表文字替换set literal:
statusbar_visible
您可以从视图中删除state = fields.Selection(
[('new','New'), ('open','In Progress'), ('closed','Closed')],
default='new',
string="Status",
)
。
至于你的第二个问题(默认值),Emipro Technologies是正确的。您需要在字段中声明默认值作为参数:
Service
答案 1 :(得分:0)
你的字段声明似乎是它的Odoo-8代码,在V8 _defaults中你不需要写如下,
state = fields.Selection({('new','New'), ('open','In Progress'), ('closed','Closed')},"Status", default='new')
并且没有更多的逻辑可以在状态栏中设置序列,但是也可以尝试这个,
<form string="String" version="7.0">
<header>
<field name="state" widget="statusbar" statusbar_visible="new,open,closed" clickable="True"/>
</header>
</form>