У меня есть приложение фляги, использующее flask-slqalchemy для запроса базы данных mysql
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'mysql://root:password@localhost/abc'
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
db = SQLAlchemy(app)
В базе данных abc есть таблица «users», и она уже заполнена несколькими сотнями строк.Теперь мне нужно импортировать эту существующую таблицу, а не сначала определять ее с помощью db.Model. Как мне вызвать таблицу?если я сделаю это
from sqlalchemy import Table
USERS = Table('users', db.metadata,autoload=True, autoload_with=db.engine)
, то я не смогу сделать запрос, подобный
USERS.query.filter_by(done=1).with_entities(USERS.name,USERS.country).paginate(page, 15, False)
, он выдаст ошибку
AttributeError: 'Table' object has no attribute 'query'
, потому что это команда sqlchemyЯ не до конца понимаю.
Я должен сначала определить таблицу USERS, как будто я создаю ее впервые:
class USERS(db.Model):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True, autoincrement=True)
name = db.Column(db.VARCHAR(500))
country = db.Column(db.VARCHAR(50))
def __init__(self, id, name, country):
self.id = id
self.name = name
self.country = country
def __repr__(self):
return self.id
только тогда я смогуиспользовать ПОЛЬЗОВАТЕЛИ для запроса к базе данных с помощью flask-sqlalchemy
Как получить доступ к существующим пользователям таблиц с помощью flask-sqlchemy в приложении с флягами?