我遇到了一些问题" on_change"创建动态视图的方法。
我想根据"选择字段"来调整用户必须填写的字段。
如果用户选择" Personne Morale",则视图必须仅包含字段:" raison social","档案",adresse", "电话"而不是显示其他字段。
如果用户选择" Personne Physique",则视图必须包含以下字段:" nom"," prenom"," cin","档案",地址"," tel"。
请注意字段"档案"," adresse"," tel"," adresse"不打算改变,他们是共同的。
PS:不要介意身份
_columns = {
'statut': fields.selection((('p','Personne Physique'), ('m','Personne Morale')),'Statut'),
'nom': fields.char('Nom', size=100, required=True),
'prenom': fields.char('Prenom', size=100, required=True),
'cin': fields.char('N° CIN', size=100, required=True),
'raison_social':fields.char('Raison Social', size=100, required=True),
'dossier': fields.one2many('sayoo.dossier','id_dossier','demande d\'autorisation' ),
'adresse': fields.char('Adresse', size=100, required=True),
'description': fields.text('Description'),
'tel': fields.char('Numéro de Téléphone', size=20),
}
答案 0 :(得分:2)
你不需要on_change行为。只需在xml视图中使用attrs
属性,如:
<field name="raison_social" attrs="{'invisible':[('statut','=','p')],'required':[('statut','=','m')]}" />
<field name="nome" attrs="{'invisible':[('statut','=','m')],'required':[('statut','=','p')]}" />
当然你不需要所需的部分,但我想在我的例子中向你展示这个想法。您可以将invisible
,readonly
和required
设置为attrs
。
我希望有所帮助: - )