当前位置: 移动技术网 > IT编程>脚本编程>Python > django操作多数据库

django操作多数据库

2018年09月15日  | 移动技术网IT编程  | 我要评论

小学安全教育主题班会,巴比伦塔,金正男为什么在中国

django操作多数据库

1、 在settings.py文件中配置多数据库

# database

# https://docs.djangoproject.com/en/2.1/ref/settings/#databases

 

databases = {

    'default': {

        'engine': 'django.db.backends.mysql',

        'name': 'django_test',

        'host': '127.0.0.1',

        'user': 'root',

        'password': '123456',

        'port': '3306',

},

#配置第二个数据库

    'test': {

        'engine': 'django.db.backends.mysql',

        'name': 'xsanjiaocheng',

        'host': '127.0.0.1',

        'user': 'root',

        'password': '123456',

        'port': '3306',

    }

}

#设置数据库路由,一般直接照抄即可,不用修改

database_routers = ['django_test.database_router.databaseappsrouter']

#配置数据库与app的对应关系

database_apps_mapping = {

    # example:

    # 'app_name':'database_name',

    # 'app01': 'test',

    'app01': 'default',

    'app02': 'test',

 

}

2、 在对应的app里的models.py文件里正常创建数据表即可(在创建表时尽量不要使用同样的表名)

app01中的models.py:

class django_test_1(models.model):

    abc = models.charfield(max_length=20)

    class meta:

        app_label='app01'

app02中的models.py:

class test_1(models.model):

    tests= models.charfield(max_length=20)

3、 生成迁移文件

和以前一样:python manage.py makemigrations

4、 迁移数据库

迁移时需指定数据库名

python manage.py migrate  database=test

      如果针对已创建好的数据库创建对应的models.py文件不用生成迁移文件,直接执行“python manage.py  inspectdb > app02/models.py  --database=test”的命令即可。

5、操作数据库

1)手动选择数据库

django_test_1.objects.using('default').create(abc='hdajh')

2)自动选择数据库

和以前一样不加using()。

6、 配置urls.py

导入对应app的views.py的文件。最好命名个别名,或者给views.py文件重命名。

其他使用和以前一样。

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网