我的系统由两个应用程序组成,这两个应用程序是单独的Django 项目(假设 A 和 B ),它们具有自己的默认数据库和用户。应用程序 B 也会从应用程序 A 数据库副本中读取。
要实现这种行为,我将应用程序 A 包含在 B 的Get-BrowserData -Browser Chrome -Datatype History -UserName user1
中,并且可以通过其模型访问数据库副本。但是所有与用户(权限,组)有关的东西都被弄乱了。
在两个应用程序中使用INSTALLED_APPS
是否会导致这种现象,是否有更好的解决方案通过Django ORM使用副本?
答案 0 :(得分:0)
的确有更好的方法。在Django世界中,它称为DatabaseRouter。
您可以在这里阅读有关内容:https://docs.djangoproject.com/en/2.1/topics/db/multi-db/
这是一本非常全面的指南,介绍如何为您的Django应用实现多数据库环境。
您总是可以编写自定义DatabaseRouter类,该类允许您定义以下行为:只读,仅写,每个应用标签的完全访问权限,甚至您的模型名称。
您甚至可以手动执行此操作(但我不建议您这样做-因为这可能需要在当前代码库中进行很多更改:
insert into temp.test_csv_orc partition(year="2018", month="09", day="28", country)
select count[0] as count_1, count[1] count_2, count[2] count_3, country from temp.test_csv
希望有帮助-如果您还有其他问题-请询问。