def charge_edit(): try: page = int(request.args.get('page', 1)) except ValueError: page = 1 if request.form['year']: charges = Charge.objects.paginate(page=page, per_page=10) for char in charges: budget = ChargeBudget.objects( Q(charge_id=char.id) & Q(date_app=function.datetime_convert( datetime.date(int(request.form['year']), 1, 1)))).first() clef = 'name[' + str(char.id) + ']' if budget: if float(request.form[clef]) > 0: budget.montant = float(request.form[clef]) budget.save() else: budget.delete() else: budget_new = ChargeBudget() if float(request.form[clef]) > 0: budget_new.montant = float(request.form[clef]) else: budget_new.montant = float(0) budget_new.date_app = function.datetime_convert( datetime.date(int(request.form['year']), 1, 1)) budget_new.charge_id = char budget_new.save() flash('Enregistrement effectue avec succes', 'success') return redirect( url_for('budget.charge', page=page, year=str(request.form['year'])))