即使在 odoo 中创建记录后,列表视图仍为空白
List view remains blank even after creating a record in odoo
我使用 odoo 已经有一段时间了,但我以前从未遇到过这个问题,即使在创建记录后,模型的树视图也不显示记录。
这是我的模型:
class PayrollStructureByJob(models.Model):
_name = 'payroll.job'
_inherit = 'mail.thread'
_description = 'Salary Structure By job Position'
_rec_name = 'job_id'
job_id = fields.Many2one('hr.job', string='Job Position')
salary_id = fields.Many2one('hr.payroll.structure',
string='Salary Structure')
wage = fields.Float()
notes = fields.Text()
active = fields.Boolean()
这是我添加到安全文件中的记录规则,我为模型创建的:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_payroll_job,payroll_job,model_payroll_job,hr.group_hr_manager,1,1,1,1
access_payroll_job_base,payroll_job_base,model_payroll_job,base.group_user,1,0,0,0
这是我的树视图和表单视图:
<record id="view_payroll_job_list" model="ir.ui.view">
<field name="name">view.payroll.job.list</field>
<field name="model">payroll.job</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree>
<field name="id"/>
<field name="job_id"/>
<field name="salary_id"/>
<field name="wage"/>
<field name="active"/>
</tree>
</field>
</record>
<record id="view_payroll_job_form" model="ir.ui.view">
<field name="name">view.payroll.job.form</field>
<field name="model">payroll.job</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="id"/>
<field name="job_id"/>
<field name="salary_id"/>
<field name="wage"/>
<field name="notes"/>
<field name="active"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
我也很困惑可能是哪里出了问题,我可能没有发现什么,但我似乎无法弄清楚是什么。
如果一个对象有一个名为 active
的字段,odoo 将过滤掉所有非活动记录,除非它们被明确要求(在上下文中将 active_test
设置为 True
)。
您定义了 active
字段,默认值设置为 False
,Odoo 会将 ('active', '=', 1)
三元组添加到搜索域,这将过滤掉所有包含 [=11] 的记录=] 设置为 False
。如果您保留活动字段的默认值,创建的记录将不会在树视图中可见。
您可以在 Odoo 中找到许多定义活动字段的示例,如下所示:
active = fields.Boolean(default=True, help="Set active to false to hide the Account Tag without removing it.")
我使用 odoo 已经有一段时间了,但我以前从未遇到过这个问题,即使在创建记录后,模型的树视图也不显示记录。
这是我的模型:
class PayrollStructureByJob(models.Model):
_name = 'payroll.job'
_inherit = 'mail.thread'
_description = 'Salary Structure By job Position'
_rec_name = 'job_id'
job_id = fields.Many2one('hr.job', string='Job Position')
salary_id = fields.Many2one('hr.payroll.structure',
string='Salary Structure')
wage = fields.Float()
notes = fields.Text()
active = fields.Boolean()
这是我添加到安全文件中的记录规则,我为模型创建的:
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_payroll_job,payroll_job,model_payroll_job,hr.group_hr_manager,1,1,1,1
access_payroll_job_base,payroll_job_base,model_payroll_job,base.group_user,1,0,0,0
这是我的树视图和表单视图:
<record id="view_payroll_job_list" model="ir.ui.view">
<field name="name">view.payroll.job.list</field>
<field name="model">payroll.job</field>
<field eval="8" name="priority"/>
<field name="arch" type="xml">
<tree>
<field name="id"/>
<field name="job_id"/>
<field name="salary_id"/>
<field name="wage"/>
<field name="active"/>
</tree>
</field>
</record>
<record id="view_payroll_job_form" model="ir.ui.view">
<field name="name">view.payroll.job.form</field>
<field name="model">payroll.job</field>
<field name="arch" type="xml">
<form>
<sheet>
<group>
<field name="id"/>
<field name="job_id"/>
<field name="salary_id"/>
<field name="wage"/>
<field name="notes"/>
<field name="active"/>
</group>
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
<field name="message_ids" widget="mail_thread"/>
</div>
</form>
</field>
</record>
我也很困惑可能是哪里出了问题,我可能没有发现什么,但我似乎无法弄清楚是什么。
如果一个对象有一个名为 active
的字段,odoo 将过滤掉所有非活动记录,除非它们被明确要求(在上下文中将 active_test
设置为 True
)。
您定义了 active
字段,默认值设置为 False
,Odoo 会将 ('active', '=', 1)
三元组添加到搜索域,这将过滤掉所有包含 [=11] 的记录=] 设置为 False
。如果您保留活动字段的默认值,创建的记录将不会在树视图中可见。
您可以在 Odoo 中找到许多定义活动字段的示例,如下所示:
active = fields.Boolean(default=True, help="Set active to false to hide the Account Tag without removing it.")