J'ai une tonne de code qui édite une base de données, mais ce que je veux faire est de charger toutes les données dont j'ai besoin pour modifier ou ajouter à une session, retourner une page Web et l'utilisateur a examiné les données, puis valider dans la base de données. Quelque chose comme ceci:Base de données Python Session (meta.Session)
def index(self):
empsTbl = meta.Session.query(model.Person).all();
newEmp = model.Person()
newEmp.userid = row[0].strip()
meta.Session.add(newEmp)
return render("/update.html")
def commitSession(self):
meta.Session.commit()
Si je tente d'appuyer sur un bouton de page Web pour appeler le commitSession def, la session semble être vide. J'ai essayé quelques trucs sur le modèle tels que:
Session.configure(autoflush=False, autocommit = False, bind=engine)
et j'ai également changé le basecontroller. J'ai enlevé le code:
meta.Session.remove()
Afin qu'il ne supprime pas la session après chaque appel.
J'ai aussi essayé d'utiliser fusion, pour voir si cela stockerait la session lors de la session de base de données persistante:
meta.Session.merge(newEmp)
Mais je ne peux pas encore semblent le faire fonctionner.
Edit:
Si quelqu'un pouvait donner des conseils sur la meilleure façon de décaper une session Python qui serait très utile
Il est préférable de limiter vos transactions à des opérations très spécifiques qui ne prennent pas beaucoup de temps. Veuillez modifier votre question pour décrire la portée logique et programmatique de votre transaction, c'est-à-dire ce qui se produit entre le moment où vous obtenez la session et celui où vous vous engagez. – wberry