[英]Boolean field required based on state field
我试图基于字段选择(这是“状态字段”)列出required
的布尔字段列表。
但是,即使我选择Lotissement
并检查了布尔字段,OpenERP仍然告诉我布尔是必需的,只是不想保存表格。
我尝试了这段代码:
def _get_selection(self, cursor, user_id, context=None):
return (('i', 'Construction Immeuble'),
('d', 'Démolition'),
('l', 'Lotissement'),
('m', 'Morcelement'),
('v','Construction Villa')
)
_columns = {
'state': fields.selection(_get_selection, 'Type de la demande', required=False),
'active0': fields.boolean('Plan de situation en coordonnées Lambert',
required= False, states={'l':[('required',True)]}),
'active1': fields.boolean('Plan de masse et terrasse',
required= False, states={'l':[('required',True)]}),
'active2': fields.boolean('Plan des différents niveaux',
required= False, states={'l':[('required',True)]}),
'active3': fields.boolean('Deux coupes',required= False,
states={'l':[('required',True)]}),
'active4': fields.boolean('Plan des façades'),
'active5': fields.boolean('Demande avec engagement',
required= False, states={'l':[('required',True)]}),
'active6': fields.boolean('Fiche de statistique',
required= False, states={'l':[('required',True)]}),
'active7': fields.boolean('Contrat d’architecte',
required= False, states={'l':[('required',True)]}),
'active8': fields.boolean('Certificat de propriété',
required= False, states={'l':[('required',True)]}),
'active9': fields.boolean('Plan cadastral',
required= False, states={'l':[('required',True)]}),
}
没有意义,因为布尔值默认情况下为false,所以用户输入始终有效(与float或integer相同的情况)。
但是在这种情况下,openERP有一个错误,因此它期望True
值。
我认为您应该使用选择类型!
其他:
如果要在视图上定义必填字段,则在定义视图时应在xml文件中完成!
例如:
<!-- Simple field-->
<field name='example' />
<!-- Required field (variations on a theme) -->
<field name='example' required="1" />
<field name='example' attrs="{'required': True}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.