通过官方文档https://docs.djangoproject.com/zh-hans/3.1/topics/db/multi-db/和csdnhttps://blog.csdn.net/songfreeman/article/details/70229839的这两篇文章可以进行多数据库的设置。但是设置后可能会出现问题,由于我连接的数据库是通过inspactdb的方法得到的model。于是在migrate的时候出现了问题,会提示 1146, “Table xxx doesn’t exist” 。后来发现问题可能出在路由表上,按照DATABASE_APPS_MAPPING映射之后,django默认的表如果要写入可能会找不到数据库。而源代码里的映射关系并不包含新加入的app,例如grappelli等。
DATABASE_APPS_MAPPING = { # example: # 'app_name':'database_name', # 'admin': 'default', # 'users': 'default', #django 'basic_estate': 'basic_estate', 'footstone': 'footstone', 'mall': 'hsmall', 'iot_biz': 'iot_biz', 'mall': 'mall', 'hsuser': 'hsuser', } |