1

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)]}),
}
4

1 に答える 1

1

ブール値はデフォルトで 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}" />
于 2016-05-10T16:22:39.557 に答える