sqlite3.OperationalError: нет такой таблицы: club - PullRequest
1 голос
/ 25 октября 2019

Я пытался заставить эту строку кода работать, но по какой-то причине, даже когда я вставил абсолютный путь, он не распознает таблицы в site.db. Я проверил базу данных и таблицы были там.

Я попытался использовать абсолютный путь, и я попытался изменить модель db.Model, но это не решает проблему. Капитализация и орфография также, вероятно, не проблема.

rout.py

@clubs.route('/edit_clubs/<int:user_id>/<int:club_id>', methods=['GET', 'POST'])
@login_required
def user_clubs_edit(user_id, club_id):
    user = User.query.get_or_404(user_id)
    clubs = user.clubs
    id=str(club_id)

    # create cursor
    BASE_DIR = os.path.dirname(os.path.abspath(__file__))
    db_path = os.path.join(BASE_DIR, "site.db")
    with sqlite3.connect(db_path) as db:
        cur = db.cursor()

        # get club by id
        cur.execute("SELECT * FROM club WHERE id= ?", id)

        club = cur.fetchone()
        cur.close()

models.py

class Club(db.Model):
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(100), unique=True, nullable=False)
    members = db.relationship('User', secondary=user_club_assoc_table)
    contacts = db.Column(db.Text)
    minutes = db.relationship('Minutes', backref='club')
    def __repr__(self):
        return f'{self.name}'#Club(name={self.name!r})

Я хочу получить club из таблицы с указанным идентификатором.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...