本篇笔记介绍了多种数据库操作。在第十篇中,我简单介绍了using()的使用。多个数据库使用using(db_alias)的方法来指定选择的数据库。下面介绍同步数据库表结构的操作。定义方法Synchronize命令指定数据库操作1.定义方法settings.py的DATABASES变量中可以定义多个数据库。如果有多个数据库,示例如下:DATABASES={'default':{'NAME':'app_data','ENGINE':'django.db.backends.postgresql','USER':'postgres_user','PASSWORD':'s3krit'},'users':{'NAME':'user_data','ENGINE':'django.db.backends.mysql','USER':'mysql_user','PASSWORD':'superS3cret'},'customers':{'NAME':'customer_data','ENGINE':'django.db.backends.mysql','USER':'mysql_cust','PASSWORD':'veryPriv@ate'}}定义通过DATABASES的keys获取不同数据库的名称。使用它们时,您可以根据这些密钥连接和访问它们。2、migrate相关的命令在同步命令之前引入,例如:python3manage.pymigrate这个操作之前是因为系统使用默认的数据库,默认的,如果需要对其他数据库进行相关的migrate操作,需要通过--database=db_alias命令指定数据库。比如需要对users数据库的表结构进行操作,命令如下:python3manage.pymigrate--database=users当然如果我们还是使用默认的数据库,可以添加也可以不添加--数据库参数。3、指定数据库操作对数据库的操作,比如获取Blog模型的所有数据,如果是默认数据库,则命令为:Blog.objects.all()如果模型为其他指定数据库,比如users,然后用(db_alias)指定:db_alias="users"Blog.objects.using(db_alias).all()和一些其他操作:blog=Blog.objects.using(db_alias).get(id=1)Blog.objects.using(db_alias).filter(id=1).delete()#下面是新的save操作:obj.save(using=db_alias)以上就是本篇笔记的全部内容,下一篇会介绍如何使用模型的条件表达式进行搜索、更新等操作。
