我正在为Odoo 8创建一个自定义模块,它将custom字段添加到res.partner中。我一直在努力解决一些有权限的麻烦,但当我最终与他们打交道时,我遇到了一个新的错误:
我好像不认识我的模特......
在这里你去我的代码:
mymodule.py
import openerp
from openerp.osv import fields, osv, orm
from openerp import models
class poligono_poligono(models.Model):
_name = "poligono.poligono"
_rec_name= "poligono_name"
_columns = {
'poligono_name': fields.char('Polígono', required=True),
}
class cant_neg_dir(models.Model):
_inherit = "res.partner"
_columns = {
'dir_poligono_empresa': fields.many2one('poligono_poligono' ,'Polígono'),
}
__的OpenERP __。PY
'data': [
'mymodule.xml',
'security/mymodule_security.xml',
'security/ir.model.access.csv',
],
安全/ ir.model.access.csv
id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink
access_cant_neg_dir,cant_neg_dir.cantnegdir,model_poligono_poligono,cant_neg_dir.group_name_test_user,1,1,1,1
安全/ mymodule_security.xml
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="0">
<record model="ir.module.category" id="module_category_name_test">
<field name="name">Directorio</field>
<field name="sequence">7</field>
</record>
<record id="group_name_test_user" model="res.groups">
<field name="name">Usuario</field>
<field name="category_id" ref="module_category_name_test"/>
<field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
</record>
<record id="group_name_test_manager" model="res.groups">
<field name="name">Administrador</field>
<field name="category_id" ref="module_category_name_test"/>
<field name="implied_ids" eval="[(4, ref('group_name_test_user'))]"/>
<field name="users" eval="[(4, ref('base.user_root'))]"/>
</record>
</data>
</openerp>
非常感谢您的帮助!
亲切的问候。
答案 0 :(得分:0)
更改你的many2one。您正在引用className而不是odoo模型的name属性。
class cant_neg_dir(models.Model):
_inherit = "res.partner"
_columns = {
'dir_poligono_empresa': fields.many2one('poligono.poligono' ,'Polígono'),
}