Я хочу создать сайт, на котором пользователи могут входить в систему и создавать свою собственную базу данных (а также иметь возможность манипулировать ими). Эти базы данных будут очень маленькими и будут использоваться для тестирования в основном. Чтение на suggestedsolutions hereon SO, кажется, у меня есть несколько вариантов:динамические базы данных, созданные пользователями - django
- динамически добавлять базы данных в settings.py, используя заранее определенные функции (как это было предложено here). Я считаю, что это очень плохая идея, так как она кажется взломанной и предоставляет собственный файл settings.py.
- хранить файлы SQlite на носителе и подключаться к ним с помощью django.db.connections. Это кажется разумным решением, хотя я понятия не имею, как его выполнить.
- не используют фактическую базу данных, кроме XML или какого-либо другого формата для хранения информации, которая, вероятно, обойдется мне в эффективности
- моя собственная идея, которая может быть сумасшедшей глупостью - хранить файлы SQlite в виде блоков в базе данных MySQL.
Конечная цель - предоставить пользователям возможность создавать модели django на веб-сайте, а затем выполнять запросы на них (это учебный веб-сайт). Есть идеи?
Как насчет другой вариант, просто создать новый проект Django для каждого пользователя с его собственной virtualenv и собственной базы данных SQLite, так что вы имеете полное разделение? – Wolph
Это неплохая идея. Если вы можете развернуть это с помощью некоторого псевдокода, я мог бы отметить его как ответ – yuvi