Как запросить таблицу в SQLAlchemy, которую вы не создали (уже была в базе данных) - PullRequest
0 голосов
/ 02 мая 2020

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

Я использую Flask для создания веб-сайта, я уже подтвердил, что смог подключиться к базе данных SQL, потому что мне удалось добавить таблицу «Test», которая появилась в phpMyAdmin.

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

Вот мой код:

db = SQLAlchemy(app)

class Test(db.Model):
    id = db.Column(db.Integer, primary_key = True)


@app.route('/')
def index():
    return render_template("test1.html")

@app.route('/profile/<name>')
def profile(name):
    return render_template("profile.html", name=name )


if __name__ == "__main__":
    print(db.Query(movie.query.filter_by(year_of_release=1972)))
    app.run(debug=True)`

При запуске db.create_tables () таблица phpMyAdmin показала таблицу «Test», однако я получаю ошибку «NameError: name ' mov ie 'не определено "

Если бы кто-то мог указать мне в правильном направлении, это было бы здорово, спасибо.

1 Ответ

0 голосов
/ 02 мая 2020

Когда вы обращаетесь к таблице в классе, должен иметь атрибут

__tablename__ = 'movies'

Чтобы класс SQLAlchemy указывал на таблицу, вы должны сообщить SQLAlchemy, какой класс указывает на какую таблицу. Так что если имя таблицы 'movies', то в вашем классе вы должны использовать __tablename__ = 'movies'

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