我一直在试图弄清楚如何自动处理来自动态创建的数据库(MySql)的迁移和查询。我有一个动态路由器,我可以按名称将路由添加到数据库的前缀以执行查询。但后来我发现objects.using('db_name')
。
该功能是否using(...)
消除了对路由器的需求?或者确实using(...)
提供在路由器的以下方法中评估的信息,特别是model._meta.app_label
:
def db_for_read(self, model, **hints):
"""
"""
if model._meta.app_label == 'db_name':
return 'db_name'
return None
def db_for_write(self, model, **hints):
"""
"""
if model._meta.app_label == 'db_name':
return 'db_name'
return None