Я сталкиваюсь с следующей ошибкой при попытке вставить комментарий в мою базу данных SQLite: < /p>
Ошибка говорит: «Комментарий таблицы не имеет столбца с именем данных», по -видимому, означает, что столбец данных не Это существует в таблице комментариев, но я определил это в своей модели. Я ценю любую помощь. Спасибо за ваше время. Вот соответствующий код:
views.py:
from flask import Blueprint, render_template, request, flash, jsonify, redirect, url_for
from flask_login import login_required, current_user
from .models import Note, Comment
from . import db
from datetime import datetime
import json
views = Blueprint('views', __name__)
@views.route('/comments/', methods=['GET', 'POST'])
def comment_section(note_id):
if request.method == 'POST':
note = Note.query.get(note_id)
data = request.form.get('comment')
print(data)
if data:
comment = Comment(data=data, note_id=note_id, user_id=current_user.id)
db.session.add(comment)
db.session.commit()
flash('Comment was added successfully!', category='success')
return render_template('comments.html', user=current_user, note=note)
models.py:
from . import db
from flask_login import UserMixin
from sqlalchemy.sql import func
from datetime import datetime
class Note(db.Model):
id = db.Column(db.Integer, primary_key=True)
data = db.Column(db.String(10000))
date = db.Column(db.DateTime(timezone=True), default=func.now())
user = db.relationship('User')
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
class User(UserMixin, db.Model):
id = db.Column(db.Integer, primary_key=True)
email = db.Column(db.String(150), unique=True)
password = db.Column(db.String(150))
first_name = db.Column(db.String(150))
note = db.relationship('Note')
liked = db.relationship(
'PostLike',
foreign_keys='PostLike.user_id',
backref='user', lazy='dynamic')
class PostLike(db.Model):
__tablename__ = 'post_like'
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey('user.id'))
post_id = db.Column(db.Integer, db.ForeignKey('note.id'))
class Comment(db.Model):
id = db.Column(db.Integer, primary_key=True)
data = db.Column(db.String(10000), nullable=False)
user_id = db.Column(db.Integer, db.ForeignKey('user.id', ondelete='CASCADE'), nullable=False)
note_id = db.Column(db.Integer, db.ForeignKey('note.id', ondelete='CASCADE'), nullable=False)
Подробнее здесь: https://stackoverflow.com/questions/794 ... ng-a-comme
OperationalError: в таблице. Комментарий не имеет названия данных с названием Data, вставляя комментарий в мою базу данн ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) такой таблицы нет
Anonymous » » в форуме Python - 0 Ответы
- 52 Просмотры
-
Последнее сообщение Anonymous
-