Odoo8 - 我如何排序状态栏并将默认设置为新?

时间:2015-06-11 09:18:05

标签: default statusbar odoo odoo-8

我在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中显示为开放的,新的,封闭的。

我将状态默认设置为新的,即使我没有收到任何错误,当我点击创建时它显示状态为空白。

有关如何解决这些问题的任何想法?

2 个答案:

答案 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>