如果我正在创建Django自定义命令,我可以从多个数据库获取数据吗?在C:/Project/myproject/settings.py
,我有:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
然后在C:/Project/myproject/myapp/management/commands/mycommand.py
,我有:
users = User.objects.all()
User
中定义了C:/Project/myapp/models.py
。
但是,如果我有几个数据库,名为db1.sqlite3
,db2.sqlite3
,db3.sqlite3
等,我想从我所有这些数据库加载所有User
个对象怎么办?自定义命令?这可能吗?
答案 0 :(得分:2)
您可以在任何位置为QuerySet选择数据库 QuerySet“chain。”只需在QuerySet上调用using()即可获得另一个 使用指定数据库的QuerySet。
您只需在settings.py中定义更多数据库,为其命名并将该名称传递给using('db_name')。