Как я могу ограничить SQL-запрос, чтобы быть неразрушающим?
Я планирую создать приложение для просмотра журналов Django с мощными фильтрами. Я бы хотел, чтобы пользователь мог тонко фильтровать результаты с помощью некоторых пользовательских (возможно, специфичных для БД) запросов SELECT.
Тем не менее, я не люблю давать пользователю доступ на запись в базу данных. Есть ли способ убедиться, что запрос ничего не меняет в базе данных? Как флаг "пробега"? Или есть способ отфильтровать запросы SELECT, чтобы они никоим образом не вредили?
Я думал о выполнении запросов как отдельный пользователь MySQL, но я бы предпочел избежать хлопот. Я также подумал об использовании GQL-языка Google App Engine, но если есть более чистое решение, я бы определенно хотел услышать его:)
Благодарю.
2 ответа
Соединитесь с пользователем, которому предоставлены только разрешения SELECT. Ситуации, подобные этой, - вот почему разрешения существуют в первую очередь.