1
我正在用烧瓶构建一个简单的Q & A(面试和回答)。 相关的代码如下:flask-sqlalchemy将意外变量存储到数据库中
@blueprint.route("/interview/", methods=['GET', 'POST'])
def interview():
rows = Question.query.count() #counts number of rows
r = random.randint(1,rows) #picks a number from 1 to 'rows'
question=Question.query.get(r) #queries the index generated by randint
user=User.query.get(session['user_id']) #gets session data
created_at=''
form = InterviewForm()
if form.validate_on_submit():
new_answer = Answer.create(text=form.answer.data, user=user, question=question, created_at=created_at) #basically a method that combines db.session.add and db.session.commit
flash("Your answer has been submitted")
return redirect(url_for('interview.list', question=question.id))
return render_template("interview/interview.html", form=form, question=question)
预期的结果是:
- 用户将看到一个生成的随机问题
- 问题的答案并发布到服务器
- 插入答案数据库与 对应的问题ID(一对多关系)
但是,我得到的是:
- 当用户提交了答案,答案被插入到数据库 不同的问题ID
我觉得有什么不妥产生的随机数,即它会为查看和插入生成不同的随机整数。
的感谢!多数民众赞成我也怀疑。 –