python - 无法在我的 django 项目中使用多个数据库
问题描述
我正在尝试为我的 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
数据库吗?还是我做错了什么?任何建议表示赞赏!
编辑:我尝试使用迁移第二个数据库,manage.py migrate --database="dataset"
但出现错误The connection dataset doesn't exist
解决方案
推荐阅读
- ios - 使用按钮以编程方式更改方向 - iOS
- sql - 尝试在具有相同“名称”时融合行
- javascript - 如何导出组件类和该类方法?
- javascript - 检查函数是否被创建
- go - 使用反射设置接口类型的值
- javascript - Reactjs TypeError:无法获取未定义或空引用的属性“字符串”匿名函数
- reactjs - 在简化文件中反应错误处理
- hadoop - Hive - 如何为空的分区显示 0?
- c# - 无法使用 Google Sheets API 和 C# WPF 从 Google Sheet 访问数据 - 无需登录
- spring - 无法在 Junit/Mockito 中模拟值