def answer(id): # Figure out if answer already exists question = Question.query.get(int(id)) answer = Answer.query.filter_by(question=question).first() form = AnswerForm() # If answer doesn't yet exist if answer is None: if form.validate_on_submit(): answer = Answer(body=form.body.data, author=current_user, question=question) db.session.add(answer) db.session.commit() flash(f'Your response has been recorded') return redirect(url_for('profile', username=current_user.username)) elif request.method == 'GET': form.body.data = answer.body # Validate an existing answer elif form.validate_on_submit(): answer.body = form.body.data db.session.commit() flash(f'Your response has been edited') return redirect(url_for('profile', username=current_user.username)) return render_template('answer.html', form=form, question=question, title='Answer')
def make_a_answer(self, body, question_id, user): question = Question.objects.get(pk=question_id) answer = Answer() answer.question = question answer.body = body answer.creator = user answer.updater = user answer.is_accepted = False answer.save() question.save() return answer