我想在我继承的模块上显示选定的字段,即hr.expense但是当我尝试保存它时它会给我错误。我在我继承的模块中创建了Many2one,这是' hr.expense'然后One2many到我的新模块。
这是我的.py
class Items (models.Model):
_inherit = 'hr.expense'
items_id = fields.Many2one('account.pettycash.request', string="Items")
class PettyCashRequest (models.Model):
_name = 'account.pettycash.request'
items_ids = fields.One2many('hr.expense', 'items_id', string="Items")
state = fields.Selection([
('draft', "Draft"),
('confirmed', "Confirmed"),
('approved', "Aprroved"),])
@api.multi
在我的XML中,我调用了我的One2many字段,其中是item_ids,我调用hr.expense具有的所选字段,即product_id,unit_amount和quantity。 这是我的xml。
<page string="Items">
<field name="items_ids">
<tree editable = "bottom">
<field name = "product_id"/>
<field name = "unit_amount"/>
<field name = "quantity"/>
</tree>
<form>
<sheet>
<group>
<field name = "product_id"/>
<field name = "unit_amount"/>
<field name = "quantity"/>
</group>
</sheet>
</form>
</field>
</page>
</notebook>
答案 0 :(得分:0)
Odoo抱怨“域名状态”,“不存在”,(“草案”,“拒绝”)“。 你继承了一个州领域,但是'拒绝'不存在。所以我检查hr_expense模块和状态字段是这样的。
state = fields.Selection([
('draft', 'To Submit'),
('reported', 'Reported'),
('done', 'Posted'),
('refused', 'Refused')
], compute='_compute_state', string='Status', copy=False, index=True, readonly=True, store=True,
help="Status of the expense.")
答案 1 :(得分:0)
问题基本上是因为名为'state'的字段而不是因为字段'item_ids'
问题:您正在某些域中使用“州”字段。 Odoo在视图中搜索减速但找不到减速。 Odoo要求您首先在视图中声明该字段,然后在域属性中使用它。
您可以做的就是在您开始创建表单
的开头<field name='state'/>
我通常做的是:
<form string='FormString'>
<header>
<!-- Decleration of fields in the view -->
<field name='state'/>
<field name='items_id'/>
</header>
<!-- Code for my form view -->
</form>