2010-12-05 12 views
0

Lors de la validation de données qui provenaient initialement d'une page Web, les données doivent parfois être converties en un type de données ou un format adapté à la base de données principale. Par exemple, une date au format 'jj/mm/aaaa' doit être convertie en un objet date Python ou 'aaaa-mm-jj' afin d'être stockée dans une colonne de date SQLite (SQLite acceptera 'jj/mm/yyyy ', mais cela peut causer des problèmes lorsque les données sont récupérées).Question de conception de cadre

Question - à quel moment les données doivent-elles être converties? a) Dans le cadre d'une méthode générique web_page_save() (immédiatement après la validation des données, mais avant l'appel d'une méthode row.table_update()). b) En tant que partie de row.table_update() (méthode d'objet de données appelée à partir d'applications Web ou non Web, et comprenant la construction d'une liste de paramètres de valeur de champ avant l'exécution de la commande UPDATE). En d'autres termes, d'un point de vue cadre, la conversion de données appartient-elle au traitement des objets de page ou au traitement des objets de données?

Des opinions seraient appréciées.

Alan

Répondre

1

Je peux me tromper, mais je pense qu'il n'y a pas de réponse définitive à cette question. Cela dépend du niveau de "langue" que votre cadre fournit. Par exemple, si d'autres parties de l'infrastructure acceptent des données sous une forme non canonique et les convertissent ensuite en une forme canonique interne, dans ce cas, il serait utile de prendre en charge certains formats de date d'entrée attendus.

Je préfère toujours construire des frameworks stricts et convertir les données en front-end.

2

Je pense qu'il appartient à la validation. Vous voulez une date, mais la page Web n'entre que des chaînes, de sorte que le validateur doit vérifier si la valeur de la fourchette est convertie en une date, et à partir de ce point sur votre application, la traiter comme une date.