У меня есть форма, в которой пользователи могут загружать бюджет до 8 различных организаций.Я пытаюсь написать функцию, которая будет проверять, существует ли запись на основе четырех полей в форме, и если это так, сообщает, что запись пользователя уже существует.
Я использую инфраструктуру Flask и sql-alchemy.
Я попытался написать функцию (см. Код) ниже, но, похоже, код оценивает параметры в операторе if индивидуально, а не как группа.Например, если (a == 1 и b == 2) - True: условие выполняется только при соблюдении двух критериев, но в моем случае, если выполняется один критерий, предполагается, что условие выполнено
def upload_budget():
form = UploadBudget()
if form.validate_on_submit():
sbu_check = SBUBudget.query.filter_by(sbu=form.SBUs.data)
budgetcategory_check = SBUBudget.query.filter_by(budgetcategory=form.Budget_Cat.data)
year_check = SBUBudget.query.filter_by(year=form.Year.data)
period_check = SBUBudget.query.filter_by(period=form.Period.data)
if (sbu_check and budgetcategory_check and year_check and period_check) != None:
flash(_('Upload Failed. The Budget for the selected Category and Period already uploaded. '))
else:
uploadedbudget = SBUBudget(sbu= form.SBUs.data, budgetcategory=form.Budget_Cat.data, year=form.Year.data,
revenue=form.Revenue.data, ebitda=form.Ebitda.data, period=form.Period.data)
db.session.add(uploadedbudget)
db.session.commit()
flash(_('Budget successfully added!'))
return render_template('finance.html', title=_('Upload Budget'), form=form)
Я ожидаю, что если (sbu_check and budgetcategory_check and year_check and period_check) != None
не None, то мигает сообщение flash(_('Upload Failed
.Бюджет для выбранной категории и периода уже загружен, в противном случае выполните оставшуюся часть кода.