Я изо всех сил пытался получить строки из представления, которое я создал в моей базе данных, в мое приложение фляги.
Это представление работает правильно в базе данных, но я искал ресурсыонлайн о том, как правильно запросить это представление с небольшим успехом.
Я попытался отразить представление по документам (https://docs.sqlalchemy.org/en/latest/core/reflection.html#reflecting-views). Я включил отраженную таблицу в db.Model, и это позволяет мне взаимодействовать спредставление идеально.
Однако мне пришлось переместить объявление класса db.Model
в другой файл в модуле, чтобы избежать обработки модели как таблицы при инициализации БД (db.create_all()
).
Это модель, которую я использую. Представление на самом деле более сложное (это не только одна строка), но я оставляю это в SQL-создании представления, которое, я полагаю, здесь неактуально.
# views.py
class MyView(db.Model):
from sqlalchemy import Table, Column
__table__ = Table(
'my_view',
db.Model.metadata,
Column('id', db.Integer, primary_key=True)
)
Это нормально? Я думаю, что должен быть более простой способ запроса представления кроме необработанного SQL. Мне кажется, что я обманывал приложение, полагая, что это таблица.
Что тыБудет ли правильный способ сделать это?
Скажите, если вам нужно больше информации или я думаю об этом неправильно.Я пошел с представлением базы данных, так как думал, что будет проще просто создать представление, а не огромный запрос с объединениями, которые будут выполняться каждый раз, когда мне нужны эти данные.