我的自定义模块在openerp 7安装中不显示
我有一个自己做的模块,最开始是为openerp 6.1版本制作的,现在我想把它安装到另一个openerp服务器上,这个服务器用的是最新的openerp 7版本。
我已经进行了“更新模块列表”,并在“额外”和“未安装”这两个过滤器中搜索过,但都没有找到。
我看到有人说openerp 6.1的模块在openerp 7上并不完全一样。
有没有人能给我一些建议?而且目前关于openerp 7的自定义模块的文档也很少。
这是我的 __init__.py
import schoolsout
__openerp__.py
{
"name" : "Student Information",
"version" : "6.0.1",
"author" : "Koci",
"website" : "http://www.tuespacioweb.com.ve",
"category" : "General",
"depends" : ["base"],
"description" : "Certificados de NO Produccion Grafibond",
"init_xml" : [],
"demo xml" : [],
"update_xml" : [ "schoolsout_view.xml"],
"installable": True,
"active": False,
"certificate" : ""
}
schoolsout.py
from openerp.osv import fields, orm
class student(orm.Model):
_name = 'student.student'
_columns = {
'name' : fields.char('Student Name', size=16, required = True, translate=True),
'age' : fields.integer('Age',readonly = True),
'percent' : fields.float('Percentage',help = 'This field will add average marks of student out of 100.'),
'gender' : fields.selection([('male','Male'),('female','Female')],'Gender'),
'active' : fields.boolean('Active'),
'notes' : fields.text('Details'),
}
_defaults = { 'name' : 'Atul',
'active' : True,
}
student_student()
最后是schoolsout_view.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- Student search view -->
<record model="ir.ui.view" id="student_search">
<field name="name">student.search</field>
<field name="model">student.student</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Student Information Search" version="7.0">
<field name="name" string="Student Name" />
<field name="gender" string="Gender" />
<field name="age" string="Age" />
</search>
</field>
</record>
<!-- Student tree view -->
<record id="student_student_tree" model="ir.ui.view">
<field name="name">student.result.tree.new</field>
<field name="model">student.student</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Student_result" version="7.0">
<field name="name" />
<field name="age" />
<field name="percent" />
<field name="gender" />
<field name="active" />
</tree>
</field>
</record>
<!--Student Form View-->
<record id="student_student_form" model="ir.ui.view">
<field name="name">student.result.form</field>
<field name="model">student.student</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Student_result" version="7.0">
<field name="name" />
<field name="age" />
<field name="percent" />
<field name="gender" />
<field name="active" />
<field name="notes" />
</form>
</field>
</record>
<!-- Student Action-->
<record id="action_student_student" model="ir.actions.act_window">
<field name="name">Student Information</field>
<field name="res_model">student.student</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<!--Student Menu-->
<menuitem id="student_parent" name="Student" icon="terp-partner"/>
<menuitem id="menu_student_parent" name="Student Management" parent="student_parent"></menuitem>
<menuitem action="action_student_student" id="menu_student_student" parent="menu_student_parent" string="Result"/>
</data>
任何建议都非常感谢,谢谢你们!
5 个回答
试试这个:
from openerp.osv import osv, fields
class student(osv.Model):
_name = 'student.student'
_columns = {
'name' : fields.char('Student Name', size=16, required = True, translate=True),
'age' : fields.integer('Age',readonly = True),
'percent' : fields.float('Percentage',help = 'This field will add average marks of student out of 100.'),
'gender' : fields.selection([('male','Male'),('female','Female')],'Gender'),
'active' : fields.boolean('Active'),
'notes' : fields.text('Details'),
}
_defaults = { 'name' : 'Atul',
'active' : True,
}
student()
我试过你的代码,运行得很好,没有任何错误。
我遇到过这个问题好几次,现在找到了一个解决办法,可以找到那些确实在插件文件夹里的模块,但在应用列表中却看不到。看起来,应用列表只显示那些在线可用的插件。所以,如果你想看到自己本地开发的模块,首先得更新一下模块列表。要做到这一点,你需要先把自己的用户设置为技术用户,具体的步骤可以参考这里。
更新完模块列表后,你可以在菜单中的已安装模块下找到你的模块,只需要在搜索框中去掉已安装的标签。这样你就可以在列表中查找你的模块,或者直接搜索它。不过,你只能在这个视图中找到它。希望这能帮到你……
你的模块运行得很好。点击“更新模块列表”,然后在“未安装”过滤器中搜索“额外”,你会找到你的模块。
从6.1版本到7版本有很多变化。首先,当你在7版本中安装模块时,你需要对模块做一些修改。比如:
在你的 openerp.py 文件中进行更改,现在是
"update_xml" replace with "data"
"init_xml" removed,used in directly in data just put <data noupdate="1"> in xml
"demo xml" replace with "demo"
"active" removed, installable is ok
然后在你的 view.xml 文件中去掉 " <field name="type">tree</field>"
你的代码就能正常工作了。
谢谢