Я пытаюсь использовать две БД для моего проекта django. Первый предназначен для аутентификации и т. Д., Второй должен содержать данные, отправленные пользователем через форму.
Я добавил вторую базу данных в свой файл settings.py , но я получаю ошибки, самая последняя из них - (1146, "Table 'dataset.main_SomeModel' doesn't exist")
Действительно, похоже, что мой проект Django не может взаимодействовать с БД, поскольку там нет таблицы.
Я что-то не так делаю? Может быть, это неправильный способ использовать две БД здесь?
Вот settings.py , второй БД с именем dataset
- это тот, который я пытаюсь использовать:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
},
'dataset': {
'NAME': 'dataset',
'ENGINE': 'django.db.backends.mysql',
'USER': 'root',
'PASSWORD': 'password goes here'
}
}
Вот модель:
class SomeModel(models.Model):
data = models.CharField(max_length=100)
num = models.Float()
def save(self): # ALL the signature
super(SomeModel, self).save(using='dataset')
А вот и форма:
class DataForm(forms.ModelForm):
class Meta:
model = SomeModel
fields = ("data", "num")
def save(self, commit=True):
send = super(DataForm, self).save(commit=False)
if commit:
send.save()
return send
Поскольку я добавил строку using="dataset"
, не следует ли отправлять данные в dataset
db? Или я делаю что-то еще не так? Любой совет приветствуется!
Редактировать : я попытался перенести вторую базу данных, используя manage.py migrate --database="dataset"
, но получил ошибку The connection dataset doesn't exist