2008-12-09 5 views
1

Dans un formulaire html, j'affiche plusieurs enregistrements d'une table, prêts pour la mise à jour.Déterminer l'enregistrement dans le formulaire html multi-enregistrement

En ce moment j'utilise: name=<column-name>_<pk-id> value=<value> pour les champs. Puis dans mon python script je vais pour:

for key in form.keys(): 
    if key.startswith('<name-A>_'): 
     update <table> set <name-A> = <value> where pk=<pk-id> 
    if key.startswith('<name-B>_'): 
     update <table> set <name-B> = <value> where pk=<pk-id> 

Y at-il une manière plus « organique » pour traiter les formes multi-enregistrement?

+0

Quelle structure utilisez-vous? Utilisez-vous un ORM (http://en.wikipedia.org/wiki/Object-relational_mapping) comme SQLAlchemy? Si vous utilisez un ORM (ou si vous le souhaitez), en supposant que le code HTML est rendu à partir d'un contrôleur python, la mise à jour des enregistrements est beaucoup plus simple. –

Répondre

1

Dans les applications Java, il est courant de définir le nom JSON.

<input name="records[pk].fieldName"/> 

pk étant la clé primaire de la rangée et fieldName le terrain. Bien sûr, la plupart des frameworks gèrent cela de manière transparente. Chaque enregistrement se termine comme une instance d'une classe avec une propriété pour chaque champ, qui sont tous mis dans une liste appelée "enregistrements". Vous devrez peut-être écrire une sorte d'interprète, mais cela ne devrait pas être trop dur.

Questions connexes