【发布时间】:2014-02-16 10:13:13
【问题描述】:
我想创建一个网站,用户可以在其中登录并创建自己的数据库(并且还可以操作它们)。这些数据库将非常小,主要用于测试。阅读suggestedsolutions hereon SO看来我有几个选择:
- 使用预定义的功能(建议here)将数据库动态添加到settings.py。我发现这是一个非常糟糕的主意,因为它看起来像一个 hack 并且暴露了你自己的 settings.py 文件。
- 将 SQlite 文件存储在媒体中,并使用 django.db.connections 连接到它们。这似乎是一个合理的解决方案,虽然我不知道如何执行它。
- 不要使用实际的数据库,而是使用 XML 或其他格式来存储信息,这可能会降低我的效率
- 我自己的想法,这可能是疯狂的愚蠢 - 将 SQlite 文件作为 blob 存储在 MySQL 数据库中。
最终目标是允许用户在网站上创建 django 模型,然后对它们执行查询(这是一个学习网站)。有任何想法吗?
【问题讨论】:
-
另一种选择怎么样,只需为每个用户创建一个新的 Django 项目,使用它自己的 virtualenv 和自己的 sqlite 数据库,这样你就可以完全分离?
-
这不是一个坏主意。如果你可以用一些伪代码来扩展它,即使我可能会将它标记为答案
标签: database django sqlite dynamic