我有一个Django网站,它使用两个数据库。辅助数据库的模型已添加到相同的型号.py但是每个都有一个元类来处理数据库路由。你知道吗
class Meta:
app_label = 'database_name'
managed = False
db_table = 'table_name'
现在,我试图通过使用字符串来获取模型,但是我看到/尝试过的每个示例似乎都需要使用app\u标签。你知道吗
apps.get_model('scripts', 'model_example')
使用所有内容所在的实际应用程序的应用程序名称会导致LookupError:
App 'scripts' doesn't have a 'model_example' model.
apps.get_model('database_name', 'model_example')
使用实际模型在其元类中的app\标签会导致LookupError:
No installed app with label 'database_name'.
我似乎也不知道如何使用AppConfig或ContentType解决这个问题。你知道吗
要明确的是:我没有一个应用程序的数据库名称,它只用于路由。我正在寻找一种通过使用字符串检索模型的方法,get\u model()函数似乎需要一个实际存在的应用程序。
有什么方法可以让我得到模型还是需要结构上的改变?如果是,有什么变化?你知道吗
编辑:
我可以用globals()['model_example']
来做这件事,但是我已经读过很多遍了,应该尽量避免使用globals。正因为如此,我还在寻找另一个解决方案。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐