У меня есть две модели:
1)Модель пользователей
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
nickname = db.Column(db.String(100), index=True, unique=True)
email = db.Column(db.String(120), index=True, unique=True)
password = db.Column(db.String(100), index=True, unique=True)
role = db.Column(db.SmallInteger, default=ROLE_USER)
posts = db.relationship('Entry', backref='author', lazy='dynamic')
about_me = db.Column(db.String(140))
last_seen = db.Column(db.DateTime)
pwdhash = db.Column(db.String(100))
2)Модель записей:
сlass Entry(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(80))
text = db.Column(db.Text)
pub_date = db.Column(db.DateTime)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
Также есть вьюшка пользователя:
@app.route('/user/<nickname>', methods=['GET', 'POST'])
@login_required
def user(nickname):
title = 'Ваша страница'
user = User.query.filter_by(nickname=nickname).first_or_404()
if user == None:
flash('Пользователь ' + nickname + ' не найден.')
return redirect(url_for('index'))
post = user.posts.order_by(Entry.pub_date.desc()).all()
return render_template('user.html', title=title, user=user, post=post)
И вьюшка добавления записи:
@app.route('/add', methods=['GET', 'POST'])
@login_required
def add():
title = 'Добавление стиха'
form = EntryForm()
if form.validate_on_submit():
add_entry = Entry(form.title.data, form.text.data, form.pub_date.data)
db.session.add(add_entry)
db.session.commit()
flash('Вы добавили новый стих') return redirect(url_for('user', nickname=g.user.nickname))
return render_template('entry.html', title=title, form=form)
Шаблон пользователя:
{% for post in posts %}
<p>{{ entry.title }}</p>
<pre>{{ entry.text }}</pre>
<p>{{ entry.pub_date }}</p>
{% endfor %}
Шаблон добавления записи:
{% block content %}
Заполните поля, для регистрации вашего стиха:
{{ form.hidden_tag() }}
{{ form.title.label }}: {{ form.title(size=25) }}
{% for error in form.errors.title %} [{{ error }}] {% endfor %}
{{ form.text.label }}: {{ form.text(cols=35, rows=20) }}
{% for error in form.errors.text %} [{{ error }}] {% endfor %}
{{ form.pub_date.label }}: {{ form.pub_date(size=20) }}
{% endblock %}
Так вот вопрос, как мне получить список записей ? Как сделать привязку записей к пользователю через вьюшку добавления записи?