Манипулирование данными пользователями - PullRequest
2 голосов
/ 25 мая 2011

У меня есть веб-приложение Django, которое (потенциально) обрабатывает миллионы записей на пользователя.Короче говоря, пользователи загружают файлы, которые сопоставляются с полями / таблицами базы данных, и данные в конечном итоге загружаются в одну из 5 таблиц MySQL.Я использую потрясающую библиотеку DataTables для отображения данных обратно пользователю.

Во многих случаях данные будут загружены в приложение и позже будут обнаружены неверные данные в исходном файле.Например, 500K записей могут быть загружены, но в 400 записях имена и фамилии были транспонированы.Пользователи могут манипулировать / изменять записи одновременно, но не стоит ожидать, что они изменят 400 записей вручную.

Очевидно, что это можно решить, разрешив им удалить 400 оскорбительных записей и перезагрузив фиксированный исходный файл, но в этом суть моей проблемы.Как вы разрешаете пользователям выборочно удалять (или изменять) 400 записей из списка 500 КБ в зависимости от некоторых условий?По сути, я спрашиваю: «Как я могу разрешить моим пользователям выполнять ограниченный, но произвольный SQL для моей базы данных, не допуская чего-то ужасного?»

Я знаю, что мог бы создать своего рода "построитель SQL" в веб-приложении, но этот подход кажется ... каким-то неправильным.Есть ли что-то вроде серьезно ограниченного phpMyAdmin или SQL Buddy, которое я мог бы предоставить своим пользователям?Я искал приложения Django в том же духе, но ничего не нашел.Я полагаю, я мог бы предложить им поиск / фильтр по ключевым словам, а затем разрешить им удалить все, что соответствует критериям.

Кто-нибудь решал эту проблему и у вас есть рекомендации?Я искренне озадачен лучшим подходом.

1 Ответ

0 голосов
/ 25 мая 2011

Кто вы такие пользователи и насколько вы им доверяете?

  • Если ваше доверие низкое, вам нужно будет раскрыть какой-то API.
  • Если ваше доверие высокое, примите предложения для команды администратора, например, "транспонировать имена", и предоставьте им доступ к этой таблице в администраторе Django. затем они могут выбрать пакеты записей, к которым будет применена эта команда.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...