Я хотел бы реализовать веб-страницу в Django, которая позволяет пользователю динамически создавать базу данных.
Сохраненная модель Django всегда будет одинаковой.(универсальный пользователь)
Сценарий:
- Пользователь заполняет форму такими полями, как user.firstname, user.lastname ..
- Затем после отправки, django создает совершенно новую БД в СУБД.
- Затем модель сохраняется в этой новой БД.
- Django сохраняет / сохраняет эту настройку БД для дальнейшего использования.
Я узнаю Здесь , что в Django можно настроить несколько БД, но это означает, что они уже созданы (что, очевидно, не в моем случае).
Чтобы создать мойБД Я могу подумать о том, чтобы выполнить пользовательский запрос SQL непосредственно в СУБД, например,
from django.db import connection
def createNewDB(self,id):
with connection.cursort() as cursor:
queryStr = "\"CREATE DATABASE " + id + "\""
cursor.execute(queryStr)
Но тогда у меня нет никаких подсказок о:
Я нахожу эту запись о том, как добавить динамическое соединениеcally с:
from django.db import connections
connections.databases['new-alias'] = { ... }
conn = connections['new-alias']
Но опять же, в этом случае база данных sqlite уже существовала, поэтому я не уверен, что это именно то, что мне нужно.
Итак, возможно ли создатьСсылка БД на модель, а затем добавить ее в настройку базы данных django?
Или я должен просмотреть всю свою структуру данных?(например, одна БД, но таблица с несколькими моделями пользователей)
Я использую django 2.0.5 и postgreSQL 9.6, но могу измениться, если решение несовместимо (например, sqlite).