Le CRUD est gérer assez simplement dans turbogears
pour un objet obj on peux avoir :
@expose('app.templates.edit')
def edit(self, name):
obj = DBSession.query(Model).filter_by(name=name).one()
return dict(obj=obj)
@expose()
def save(self, name, data, submit):
obj = DBSession.query(Model).filter_by(name=name).one()
obj.data = data
redirect("/" + name)- Question
- La validation des données utilisateur ? C'est où ? (il existe un module de validation des données et de création de formulaires ToscaWidgets2)
- On enregistre dans la base de donnée avec un simple obj.arg=arg ? Il n'existe pas une commande save() ou commit() ou process() que sais je ?
- On ne vérifie pas la méthode ? Je peux modifier la base de donnée avec un simple GET ? A moins que "submit" s'occupe de ça
- dans la méthode edit, si on ne trouve aucun enregistrement en base de donnée on fait quoi ? on se vautre comme une loutre bourrée à la bière ? On renvoie un dict sans valeur ? Comment on gère les erreurs dans turbogears ? ( réponse : on se vautre)