Question

Tout ce que j'essaie de faire est de définir les valeurs d'une liste déroulante en utilisant un dictionnaire utilisant formalchemy 1.3.5.

La documentation se lit comme suit:

Les méthodes prenant un paramètre d'options accepteront plusieurs manières de spécifier ces options:

  • un itérable d'objets SQLAlchemy;str () de chaque objet sera la description et la clé primaire la valeur
  • une requête SQLAlchemy;la requête sera exécutée avec all () et les objets retournés évalués comme ci-dessus
  • un itérable de paires (description, valeur)
  • un dictionnaire de {description: value} paires

Je crée un dictionnaire comme décrit ici:

Location = model.meta.Session.query(model.Location)

cityCodes = {}

for row in Location:
    cityCodes.update({row.city : str(row.location_code)})

et incluez-le:

EmpsPerson.wiw_location_code.label('Location').dropdown(options = cityCodes),

Cependant, les valeurs sont toujours définies comme description:

<option value="Dubai">Dubai</option>
<option value="Portsmouth">Portsmouth</option>
<option value="Toulouse">Toulouse</option>
<option value="Singapore">Singapore</option>

Résolu:

Donc, pour résoudre ce problème, je viens d'utiliser:

for row in Location:
cityCodes.append([row.city,int(row.location_code)])

 EmpsPerson.location_code.label('Location').dropdown(options=cityCodes)
Était-ce utile?

La solution

Je suppose que le document est obsolète.Essayez avec une liste

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top