Openerp 基于第一个选择框从数据库动态加载第二个选择框
请更正代码,以便根据第一个选择加载第二个选择框Openerp 基于第一个选择框从数据库动态加载第二个选择框,openerp,Openerp,请更正代码,以便根据第一个选择加载第二个选择框 type_id choice_id fruit orange fruit apple drinks coffee drinks tea 现在,当用户从选择框中选择水果时,作为需求的一部分,其他选择框“choice”应仅动态加载橙色和苹果。同样的方式,当
type_id choice_id
fruit orange
fruit apple
drinks coffee
drinks tea
现在,当用户从选择框中选择水果时,作为需求的一部分,其他选择框“choice”应仅动态加载橙色和苹果。同样的方式,当用户选择饮料作为类型,然后咖啡和茶应该加载
.py文件
XML
实数形式
坚实的基础
形式
立体树
坚实的基础
树
立体选择
固体选择
形式
可靠选择
固体选择
形式
树
坚实的基础
坚实的基础
形式
树
错误日志:
OpenERP服务器错误
客户端回溯(最近一次呼叫最后一次):
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\http.py”,第204行,在分派中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\controllers\main.py”,第1132行,在调用按钮中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\controllers\main.py”,第1120行,在调用中
代理中的文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\session.py”,第42行
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\session.py”,第30行,采用代理法
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\session.py”,第103行,发送
服务器回溯(最近一次呼叫最后一次):
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\web\session.py”,第89行,发送
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\netsvc.py”,第292行,在dispatch\u rpc中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\service\web\u services.py”,第622行,在调度中
检查文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\service\security.py”,第40行
get_池中的文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\pooler.py”,第49行
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\.\OpenERP\pooler.py”,第33行,在get\u db\u和\u池中
get中第192行的文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\.\OpenERP\modules\registry.py”
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\.\OpenERP\modules\registry.py”,第218行,新格式
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\modules\loading.py”,第350行,在load\U模块中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\modules\loading.py”,第256行,在加载标记的模块中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\modules\loading.py”,第187行,在加载模块图中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\modules\loading.py”,第74行,在
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\modules\load.py”,第124行,在加载数据中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\tools\convert.py”,第954行,在convert\u xml\u导入中
解析中第847行的文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\。\OpenERP\tools\convert.py”
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\tools\convert.py”,第814行,在标记记录中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\base\ir\ir\u model.py”,第937行,在更新中
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\OpenERP\addons\base\ir\ir\u ui\u view.py”,第214行,写入
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\ \OpenERP\osv\orm.py”,第4205行,以书面形式
文件“C:\Program Files\OpenERP 7.0-20131006-231029\Server\Server\.\OpenERP\osv\orm.py”,第1548行,在\u validate中
除表单外:('ValidateError',u'验证字段arch时出错:视图体系结构的XML无效!')
选择字段有一个静态列表。在您的情况下,您应该在视图中使用带有widget='Selection'的manyOne字段,以便将一个字段的值传递给另一个字段进行筛选
例如,为选项和类型创建表。对于这些表,名称字段就足够了。在选项表中,添加一个与类型表的manyOne关系(比如type_id),这是必填字段。然后在new.base表中,将这些字段添加为多个单字段(例如键入\u id和选择\u id),并在视图中为字段添加
t谢谢。我将按照上述步骤更新hereOmaL Sir,当我添加时,系统抛出错误,表示“除了表单:('ValidateError',在验证字段arch:Invalid XML for View Architecture!”时发生错误”。。注意:如果我用domain=“[('type\u id','=','drinks')]或[('type\u id','=','fruit')]替换,它可以正常工作。请帮助meI用错误日志更新我的查询[('type_id','=',1)]或[('type_id','=',2)]我已将我的模块发送给您。这可能有助于您调查错误
from osv import osv
from osv import fields
class solid_base(osv.osv):
_name='solid.base'
_columns={
'type_id':fields.many2one('solid.type','type'),
'choice_id':fields.many2one('solid.choice','choice'),
}
solid_base()
class solid_type(osv.osv):
_rec_name='type_id'
_name='solid.type'
_columns={
'type_id':fields.char('Type :'),
}
solid_type()
class solid_choice(osv.osv):
_rec_name='choice_id'
_name='solid.choice'
_columns={
'choice_id':fields.char('Choice :'),
'type_id':fields.many2one('solid.type','Type :'),
}
solid_choice()
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record model="ir.ui.view" id="solid_base_form">
<field name="name">solid.base.form</field>
<field name="model">solid.base</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Solid Base">
<field name="type_id" widget="selection"/>
<field name="choice_id" domain="[('type_id','=',type_id)]" widget="selection"/>
</form>
</field>
</record>
<record model="ir.ui.view" id="solid_base_tree">
<field name="name">solid.base.tree</field>
<field name="model">solid.base</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Solid Base">
<field name="type_id"/>
<field name="choice_id"/>
</tree>
</field>
</record>
<record model="ir.ui.view" id="solid_choice_form">
<field name="name">solid.choice.form</field>
<field name="model">solid.choice</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="solid.choice">
<field name="type_id" />
<field name="choice_id" />
</form>
</field>
</record>
<record model="ir.actions.act_window" id="action_solid_seq7">
<field name="name">solid choice</field>
<field name="res_model">solid.choice</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<record model="ir.actions.act_window" id="action_solid_seq6">
<field name="name">solid base</field>
<field name="res_model">solid.base</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem id="menu_solid_base_super_main" name="Solid Base"/>
<menuitem id="menu_solid_base_main" parent="menu_solid_base_super_main" name="New Solid Base"/>
<menuitem id="menu_solid_base1" parent="menu_solid_base_main"
name="New Solid Base1" action="action_solid_seq6"/>
<menuitem id="menu_solid_base2" parent="menu_solid_base_main"
name="New Solid Base2" action="action_solid_seq7"/>
</data>
OpenERP Server Error
Client Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20131006- 231029\Server\server\openerp\addons\web\http.py", line 204, in dispatch
File "C:\Program Files\OpenERP 7.0-20131006- 231029\Server\server\openerp\addons\web\controllers\main.py", line 1132, in call_button
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\web\controllers\main.py", line 1120, in _call_kw
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\web\session.py", line 42, in proxy
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\web\session.py", line 30, in proxy_method
File "C:\Program Files\OpenERP 7.0-20131006- 231029\Server\server\openerp\addons\web\session.py", line 103, in send
Server Traceback (most recent call last):
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\web\session.py", line 89, in send
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\netsvc.py", line 292, in dispatch_rpc
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\service\web_services.py", line 622, in dispatch
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\service\security.py", line 40, in check
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\pooler.py", line 49, in get_pool
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\pooler.py", line 33, in get_db_and_pool
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\registry.py", line 192, in get
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\registry.py", line 218, in new
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\loading.py", line 350, in load_modules
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\loading.py", line 256, in load_marked_modules
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\loading.py", line 187, in load_module_graph
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\loading.py", line 74, in <lambda>
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\modules\loading.py", line 124, in _load_data
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\tools\convert.py", line 954, in convert_xml_import
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\tools\convert.py", line 847, in parse
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\tools\convert.py", line 814, in _tag_record
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\base\ir\ir_model.py", line 937, in _update
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\openerp\addons\base\ir\ir_ui_view.py", line 214, in write
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\osv\orm.py", line 4205, in write
File "C:\Program Files\OpenERP 7.0-20131006-231029\Server\server\.\openerp\osv\orm.py", line 1548, in _validate
except_orm: ('ValidateError', u'Error occurred while validating the field(s) arch: Invalid XML for View Architecture!')