Je crée une application Web, où l'action de l'utilisateur peut affecter certains graphiques à barres (voir le fichier GIF ci-dessous). Parfois, les modifications ne sont pas enregistrées. Lorsque je recharge la page, les graphiques à barres modifiés sont affichés (indiquant que les actions de l'utilisateur ont été sauvegardées). Lorsque je recharge à nouveau la page, les graphiques à barres mis à jour et la liste correspondante sont parfois affichés. D'autres fois, ils ne le sont pas.Les modifications de Flask-SQLAlchemy ne persistent pas
est ici le code de la vue:
@app.route('/')
def home():
'''homepage for application'''
# redirect users who go to home page but aren't logged in
if not current_user.is_authenticated:
return redirect(url_for("landing"))
# reset the session
db.session.flush()
# get most recent entered weight
try:
last_weight = WeightEntry.query.filter_by(user_id = current_user.user_id).order_by(WeightEntry.date)[-1]
except IndexError:
return error("No weight recorded. Please contact support.")
return render_template("home.html",
today= Today(current_user.user_id),
foods = [food for food in FoodEntry.query.filter_by(user_id=current_user.user_id).all() if food.is_today() == True],
options = sorted(Food.query.filter(Food.user_id==current_user.user_id).all(), key=lambda x: x.name),
last_weight = last_weight)
J'ai ajouté le db.session.flush()
pour tenter de résoudre le problème, mais cela ne fonctionne pas.
Les changements (aliments) enregistrés sont stockés ici:
@app.route("/log_food", methods=["POST", "GET"])
@login_required
def log_food():
# add foods given by the user
if request.method == "POST":
for food in request.form.getlist("logged_food"):
try:
added_food = Food.query.filter_by(user_id=current_user.user_id, name=food).first()
x = FoodEntry(
food_id = added_food.food_id,
user_id = current_user.user_id)
db.session.add(x)
db.session.commit()
except:
return error("Unable to log food.")
return redirect(url_for("home"))
J'apprécierais toute aide possible.
Merci!
ajoutez le code où vous enregistrez les modifications, s'il vous plaît et la configuration du moteur – Busturdust