sqlalchemy.exc.InterfaceError: <nicht druckbares InterfaceError-Objekt>
Ich probiere Flask aus, aber ich habe den Fehlersqlalchemy.exc.InterfaceError: <unprintable InterfaceError object>
beim Einreichen eines wtforms. Die Modellklasse ist:
class Post(db.Model):
__tablename__ = 'blog_posts'
id = db.Column(db.Integer, unique=True, primary_key=True)
title = db.Column(db.String(50), unique=False)
content = db.Column(db.Text, unique=False)
user_id = db.Column(db.String, db.ForeignKey('users.username'))
@staticmethod
def post_new_entry(title, content, user_id):
""" Post new entry to database """
new_post = Post(title=title, content=content, user_id=user_id)
db.session.add(new_post)
db.session.commit()
return new_post
def __repr__(self):
return 'PostID {}: {} by {}'.format(self.id, self.title, self.user_id)
Für mein Formular habe ich Folgendes:
class PostForm(Form):
title = StringField('Title', validators=[DataRequired(), Length(10, 65)])
post_content = TextAreaField('Content', validators=[DataRequired(), Length(50, 500)])
submit = SubmitField('Publish Post')
Die Route ist:
@main.route('/new_post/', methods=['GET', 'POST'])
@login_required
def add_post():
form = PostForm()
if form.validate_on_submit():
Post.post_new_entry(title=form.title.data,
content=form.post_content.data,
user_id=current_user)
flash("Amazing stuff! Thanks for your submission.")
return redirect(url_for('main.index'))
return render_template('single.html', form=form)
Auf meinem HTML-Code importiere ich die wtf.html des Flask-Bootstraps:
{{ wtf.quick_form(form) }}
Das Formular wird richtig angezeigt, aber ich erhalte den obigen Fehler beim Absenden des Formulars. Jeder Tipp oder jede Idee zum weiteren Vorgehen wäre hilfreich.
Vielen Dan