即使在 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.")