Attualmente sto creando un campo di selezione dinamico utilizzando WTFORMS, tuttavia non invia e non interrompe la convalida con il seguente errore.Non una scelta valida per il campo di selezione dinamico WTFORMS
Not a valid choice
Il mio campo è creato in questo modo:
area = SelectField()
e nella vista, sto afferrando le opzioni dal db in questo modo:
form = MytestForm()
form.area.choices = [(a.id, a.name) for a in Area.objects.all()]
Funziona se creo opzioni statiche.
Hi Sean, grazie per la risposta. Comunque sto usando mongodb, quindi l'id è in realtà una stringa. – ismail
Grazie al problema coercitivo, WTFORMS era in default per la conversione in Unicode, tuttavia l'oggetto reale è un tipo ID oggetto MongoDB. così ho cambiato la coercizione per creare un'istanza ObjectID e ora la convalida. – ismail
coerce = int lo ha risolto per me. In particolare, il mio problema era che i valori delle mie scelte erano gli interi 0 e 1. Tuttavia, il mio modello vuole un int. classe Abc (Base): foo = Colonna (intero) classe AbcView (modelview): form_overrides = { 'foo': SelectField, } form_args = { 'foo': { 'scelte' : [(0, 'sconosciuto'), (1, 'defcon 1')], 'coerce': int } } – coderfi