如何在od中自动更改选择字段

2024-05-16 00:55:05 发布

您现在位置:Python中文网/ 问答频道 /正文

我在做奥多8。我有一个包含一组组合框类型字段和一个选择字段的视图。我想对组合框字段进行测试,如果所有字段都选中了,那么选择字段的值应该会改变。以下是我目前所掌握的情况:

def get_etat_dossier(self,cr,uid,ids,args,fields,context=None):
    res = {}
    for rec in self.browse(cr,uid,ids):

        if rec.casier_judiciare==True: # test field if = true 
            res[rec.id]= 02 # field etat_dos type selection = Dossier Complet
        else:
            res[rec.id] = 01

    return res


_columns= {

   'casier_judiciare' : fields.boolean('Casier Judiciaire'), #  field to test 

   'reference_pro' : fields.boolean('Réferences Professionnelles'),
   'certificat_qual' : fields.boolean('Certificat de qualification'),
   'extrait_role' : fields.boolean('Extrait de Role'),
   'statut_entre' : fields.selection([('eurl','EURL'),('sarl','SARL')],'Statut Entreprise'),
   'etat_dos': fields.selection([('complet','Dossier Complet'),('manquant','Dossier Manquant')],'Etat De Dossier'), # field ho change after test 
}

enter image description here

这是我的观点的代码

^{pr2}$

Tags: testselfidsfieldfieldsuidifres
1条回答
网友
1楼 · 发布于 2024-05-16 00:55:05

onchange字段添加一个onchange属性,然后将所有其他要检查的字段作为参数传递给如下方法

<group col='4' name="doss_grp" string="Dossier de Soumission" colspan="4" >
    <field name="casier_judiciare" on_change="onchange_casier_judiciare(casier_judiciare, certificat_qual, extrait_role, reference_pro)"/> 
    <field name="certificat_qual"/> 
    <field name="extrait_role"/> 
    <field name="reference_pro"/> 
    <field name="statut_entre" style="width:20%%"/> 
    <field name="etat_dos"/> 
</group>

在您的模型文件中定义这样的方法,并使用if语句检查它们是否都是真的(这意味着它们都被检查过),如果是这样,那么您可以返回一个字典,其中包含您想要的选择字段值,在这种情况下,etat_dos将更改为Dossier Complet

^{pr2}$

请注意,onchange只在casier_judiciare字段上触发,但是您也可以在其他字段上设置{},它应该可以正常工作

相关问题 更多 >