У меня есть колба с Python 3.68.Я использую sqlalchemy для создания 2 представлений базы данных из одной таблицы MySQL.Я могу успешно выполнить пример кода, и представления создаются с ожидаемой структурой, однако, когда я выбираю из представлений, я не получаю строк, возвращаемых.Если я запускаю выделенную часть оператора create view, я получаю строки.Я не уверен, что я делаю неправильно - любая помощь будет оценена!
Вот одна из моделей представления и код создания представления.Как я уже упоминал, представление правильно создано, просто пустое, но если я запущу «SELECT p. * FROM profile p, user u WHERE p.user_id = u.id AND u.user_type = 1;»Я получаю ожидаемое количество строк
class ClientView(db.Model):
id = db.Column(db.Integer, primary_key=True)
user_id = db.Column(db.Integer, db.ForeignKey("user.id"), unique=True)
phone_number = db.Column(db.String(15), nullable=True)
address_number = db.Column(db.String(30))
address_street = db.Column(db.String(150))
address_city = db.Column(db.String(150))
address_state = db.Column(db.String(150))
address_zip = db.Column(db.String(30))
website = db.Column(db.String(150))
specialty = db.Column(db.Integer, db.ForeignKey("specialty.id"))
region = db.Column(db.Integer, db.ForeignKey("region.id"))
organization = db.Column(db.Integer, db.ForeignKey("organization.id"))
created_at = db.Column(db.DateTime, default=datetime.utcnow)
updated_at = db.Column(db.DateTime, default=datetime.now, onupdate=datetime.now)
view = Table('ClientView', MetaData())
definition = text("SELECT p.* FROM profile p, user u WHERE p.user_id = u.id AND u.user_type = 1;")
create_view = CreateView(view, definition)
print(str(create_view.compile()).strip())