如何使用非默认数据库
我正在创建一个支持多种数据库的项目。我已经在模型中写好了查询,现在我需要把这些信息保存到选定的数据库里。
我有两个数据库:SQLite3和MongoDB。现在我需要把这些查询信息保存到SQLite3里。我该怎么做呢?我使用的是Python 2.7和Django 1.5.4。
以下是settings.py
中的代码:
DATABASES = {
'default': {},
'sqlite':
{
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(APP_DIR, 'mydb.sqlite3'),
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
},
'mongodb':
{
'ENGINE': 'django_mongodb_engine',
'NAME': "mydb",
'USER': '',
'PASSWORD': '',
'HOST': '',
'PORT': '',
}
}
以下是models.py
中的代码:
from django.db import models
class Blog(models.Model):
name = models.CharField(max_length=100)
tagline = models.TextField()
def __unicode__(self):
return self.name
1 个回答
4
如果你使用 save
方法,可以使用 using
参数来指定数据库。
blog = Blog(name='This is a blog post', tagline='python django')
blog.save(using='sqlite')
或者,如果你使用 create
方法,可以使用 db_manager
。
blog = Blog.objects.db_manager('sqlite').create(
name='This is a blog post', tagline='python django')
对于其他操作,可以查看 Django文档中的多个数据库。