@hardwellZero

Почему не работает добавление постов?

Здравствуйте.
Пишу мини-блог в целях ознакомления с Flask.
Дошел до добавления постов.
Вот что у меня есть:
models.py
class BlogPost(db.Model):

    __tablename__ = "posts"

    id = db.Column(db.Integer, primary_key=True)
    title = db.Column(db.String, nullable=False)
    description = db.Column(db.String, nullable=False)
    author_id = db.Column(db.Integer, ForeignKey('users.id'))

    def __init__(self, title, description):
        self.title = title
        self.description = description
        self.author_id = current_user.id

    def __repr__(self):
        return '<title {}'.format(self.title)

views.py
@users_blueprint.route('/add', methods=['GET', 'POST'])
@login_required
def add():
    form = AddForm()
    if form.validate_on_submit():
        post = BlogPost(
            title=form.title.data,
            description=form.description.data,
            author_id=current_user.id
        )
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('home.home'))
    return render_template('add.html', form=form)


forms.py
class AddForm(Form):
    title = TextField(
        'title',
        validators=[DataRequired(), Length(min=3, max=25)]
    )
    description = TextField(
        'description',
        validators=[DataRequired(), Length(min=6, max=40)]
    )

Если нужно, могу еще и шаблон показать.
Суть. Запускается все без ошибок, страница тоже работает. При заполнении формы и нажатию кнопки "Отправить" появляется
TypeError: __init__() got an unexpected keyword argument 'author_id'

Где я свернул не туда?
  • Вопрос задан
  • 2521 просмотр
Решения вопроса 1
@hardwellZero Автор вопроса
Вопрос решил.
Лишняя строка - author_id=current_user.id
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы