2011-05-24 52 views
2

我有一个Django Web应用程序(可能)为每个用户处理数百万条记录。简而言之,用户上传映射到数据库字段/表的文件,数据最终被加载到5个MySQL表中的一个中。我正在使用令人敬畏的DataTables库来将数据显示回给用户。用户的数据操作

在许多情况下,数据将被加载到应用程序中,后来发现在源文件中不正确。例如,可能会加载500K条记录,但是在400条记录中,名字和姓氏会被换行。用户可以一次操作/修改记录,但指望他们手动更改400条记录是不合理的。

很明显,这可以通过允许他们删除400个违规记录并重新加载固定的源文件来解决,但这是我的问题的根源。你如何让用户根据某些条件有选择地从500K列表中删除(或修改)400条记录?我基本上问:“我怎么让我的用户对我的数据库执行受限制的,但是任意的SQL,而没有出现可怕的错误?”

我知道我可以在Web应用程序中构建某种“SQL构建器”,但该方法似乎......错误。有没有像我严重限制的phpMyAdmin或SQL Buddy可以暴露给我的用户?我已经按照这些要求搜索了Django应用程序,但是我什么也没有提出。我想我可以为他们提供一些关键字搜索/过滤,然后允许他们删除符合标准的任何内容。

有人在那里解决这个问题,并有一些指导?我真的很难接受最好的方法。

+0

你确定你正在解决正确的问题吗?没有详细的分析,很难确定,但我的第一个想法是更好地预览将要导入的内容以及强健的撤消是一种更好的方法。 – 2011-05-24 21:37:03

+0

公平的问题。在很多情况下,加载数据的人不是数据专家 - 只是IT人员。在加载数据之前,我已经进行了强健的检查,但换位的名称(等等)很难验证。数据被分配到一个完全不同的实体进行处理/分析和逻辑一致性。这是标记不一致的第二个实体。但到那时,数据已经在系统中,需要修改。更复杂的因素是,每一行数据都标记有has_been_sent标志,以便跟踪哪些事情已经发生,哪些没有发生。 – ghiotion 2011-05-24 21:42:19

+0

数据表具有搜索功能。你不能用它在你的列上进行文本搜索来过滤数据集吗? – fosstrack 2011-05-25 06:44:34

回答

0

你是谁的用户,你相信他们多少?

  • 如果您的信任度很低,您将需要公开某种类型的API。
  • 如果您的信任很高,请对管理命令(如“转置名称”)给予建议,并让他们能够访问Django admin中的该表。那么他们可以选择批量记录来应用此命令。