По моему опыту, здесь все хорошо. Как правило, вы должны разрабатывать свое приложение следующим образом:
- Модели должны выполнять самые мощные функции
- Представления должны выполнять только логическую работу
- Шаблоны должны быть тупыми . Они должны просто отображать вещи.
Теперь, говоря вышесказанное, я хочу сказать, что все, что связано с операциями с базой данных, должно быть в моделях. Также как и вы. В большинстве случаев все транзакции с вашей базой данных простые и могут быть записаны парой строк с помощью ORM. Но иногда, если вы чувствуете, что что-то нужно делать снова и снова, или вам нужен метод для достижения чего-то большого. Тогда лучше иметь это только в ваших моделях. Упомянутый вами метод должен быть частью вашей модели статьи. Другими вещами, которые могут присутствовать в вашей модели, могут быть такие операции, как отправка электронных писем пользователям или некоторые другие рутинные задачи.
Что касается ваших представлений. Они должны выполнять все логические задачи. Логика вашего бизнеса c в основном реализуется с помощью представлений.
Наконец, шаблоны должны выполнять работу по рендерингу того, что им передается из представлений.
Очевидно, что нет таких сложных и быстрое правило. Из вышеизложенного могут быть исключения. Или кто-то может найти другой способ сделать что-то лучше, чем я упомянул. Для этого нужно использовать свою совесть, и никто не может вас этому научить. Это приходит с опытом.
Для справки, go через следующие статьи:
https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
https://flask.palletsprojects.com/en/1.1.x/tutorial/
Также вы можете использовать это, но если это не так: https://flask-marshmallow.readthedocs.io/en/latest/
Еще одно небольшое предложение. хотя я не понимаю ваших требований. Но было бы лучше, если бы вы могли зафиксировать после для l oop, т.е. в самом конце метода. В запросе обычно должна быть только одна фиксация.