我正在创建一个支持多个数据库的项目。我在模型中编写了查询,我需要将这些细节保存在选定的数据库中。
我有两个数据库: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
答案 0 :(得分:3)
如果您使用save
方法,请使用using
argument。
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')
有关其他操作,请参阅Multiple databases - Django documentation。