Я пытаюсь создать приложение Flask, которое будет отображать в заголовке последовательности и в содержании статей, хранящихся в базе данных, нажав кнопку «Далее», но я не знаю, что я должен делать ниже первой «если», чтобы получить статистику только одна запись из базы данных. Мои текущие решения приводят к ошибке: sqlalchemy.orm.exc.MultipleResultsFound: Multiple rows were found for one()
Вот мой код:
flask import Flask, render_template, url_for, request
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:////PATH/TO/DATABASE/KORPUS/Database.db'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
class Polityka(db.Model):
__tablename__ = 'polityka_articles'
id = db.Column('id', db.Integer, primary_key=True)
title = db.Column('article_title', db.Unicode)
content = db.Column('article_content', db.Unicode)
@app.route('/', methods=['GET', 'POST'])
def index():
next_item = request.form.get('next_item')
data = Database.query.filter_by(column = 'Nauka').first()
if next_item is not None:
data = Polityka.query.filter_by(column = 'Nauka').one()
return render_template('home.html', item_title = data.title, item_content = data.content)
if __name__ == '__main__':
app.run(debug=True)
А вот и home.html
файл:
<!DOCTYPE html>
<html>
<head>
<!-- Required meta tag and CSS -->
<title>Site</title>
</head>
<body>
<div class='container'>
<h1>{{ item_title }}</h1>
<p>{{ item_content }}</p>
</div>
<form method="POST" action="/">
<button type="submit" name="next_item" class="btn btn-success">Next</button>
</form>
</body>
</html>
Я буду рад любым подсказкам.