如何使用默认数据库以外的方法

时间:2014-03-03 12:01:56

标签: python django mongodb sqlite

我正在创建一个支持多个数据库的项目。我在模型中编写了查询,我需要将这些细节保存在选定的数据库中。

我有两个数据库: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 个答案:

答案 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