openerp.py
'depends': ['base','hr'],
# always loaded
'data': [
'security/ir.rule.xml',
'security/ir.model.access.csv',
'views/views.xml',
],
安全/ ir.rule.xml
<data noupdate="0">
<record id="property_rule_jj_loan_creator" model="ir.rule" forcecreate="True">
<field name="name">loan creator</field>
<field name="model_id" ref="model_jj_loan"/>
<field name="domain_force">[('employee_id.user_id','=',user.id), ('state', '=', 'Draft')]</field>
<field name="perm_create" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_unlink" eval="True"/>
<field name="groups" eval="[(4,ref('base.group_user'))]"/>
</record>
重启odoo后更新模型 错误说:
引发ValueError('在系统中找不到外部ID:%s'%(xmlid)) ParseError:“系统中找不到外部ID:model_jj_loan” 在解析/home/addons/jj_loan/security/ir.rule.xml:4时,附近
我见过许多示例代码与我的相同,那么我有什么遗漏吗?
谢谢你:)答案 0 :(得分:1)
错误与模型名称有关:model_jj_loan
模型jj.loan不是在您的数据库上创建的:
检查模型的名称必须是这样的,如果不需要更改xml文件上的名称:
_name = 'jj.loan'
如果您的名称与您需要检查是否在数据库上创建表是否使用pgAdmin,我认为您将找不到它。如果是这样 :
确保在.py
中导入模块__init__.py
,因为如果__init__.py
中不存在,则odoo将不会在数据库上安装模型,如果您将模型代码放入问题中没有解决问题