FLASK + SQLAlchemy Передовые практики для работы (запросов) с представлениями базы данных - PullRequest
0 голосов
/ 28 февраля 2019

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

Это представление работает правильно в базе данных, но я искал ресурсыонлайн о том, как правильно запросить это представление с небольшим успехом.

Я попытался отразить представление по документам (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. Мне кажется, что я обманывал приложение, полагая, что это таблица.

Что тыБудет ли правильный способ сделать это?

Скажите, если вам нужно больше информации или я думаю об этом неправильно.Я пошел с представлением базы данных, так как думал, что будет проще просто создать представление, а не огромный запрос с объединениями, которые будут выполняться каждый раз, когда мне нужны эти данные.

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