如何使用非默认数据库

1 投票
1 回答
1676 浏览
提问于 2025-04-17 20:36

我正在创建一个支持多种数据库的项目。我已经在模型中写好了查询,现在我需要把这些信息保存到选定的数据库里。

我有两个数据库: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文档中的多个数据库

撰写回答