Мы обращаемся к нашей базе данных sqlite3 через Flask
и sqlalchemy
. Пока что мы можем получать доступ , отображать и редактировать таблицы базы данных, изменив models.py
и views.py
в соответствии с нашими требованиями.
Затем нам удалось получить базу данных sqlite3 views
(не путать с представлениями в файле views.py
sqlalchemy
) .
Тем не менее, мы получаем следующую ошибку при попытке редактировать поля через наши flask-app
.
sqlalchemy.exc.OperationalError: (raised as a result of Query-invoked autoflush; consider using a session.no_autoflush block if this flush is occurring prematurely) (sqlite3.OperationalError) cannot modify my_view because it is a view [SQL: 'UPDATE my_view SET "my_field"=?, WHERE my_view.id = ?'] [parameters: ('my_view_data')] (Background on this error at: http://sqlalche.me/e/e3q8)
Кажется, эта ошибка может быть вызвана различными причинами:
1) Либо нам нужно реализовать блок session.no_autoflush
, как указано в ошибке?
2) Или это ограничение Flask
, когда база данных sqlite3 views
не может быть обработана Flask
? В каком случае нам пришлось бы отказаться от нашей базы данных views
и сосредоточиться на нашем tables
, перестраивая views
из Flask
, чтобы получить тот же результат?
Мы пытались исследовать, но нашли мало информации, касающейся Flask
и Sqlite3 views
.
Будем весьма благодарны за некоторые указатели, которые помогут нам в правильном направлении.