Django 从不同数据库加载相同表名的查询集

Django 从不同数据库加载相同表名的查询集,django,Django,我想通过django查询将3个不同数据库中的用户表中的数据组合起来。 它们的结构大致相同,因此我选择制作一个非托管模型来表示它们 出于测试目的,我通过将输出打印到控制台来检查输出 但是,输出仅包含db1的数据 我无法将它们合并,因为有一个不可分割的文本字段 Q:有什么比通过model.objects.raw()触发原始sql更好的方法吗 以下是一些文件,以便更好地进行概述: settings.py相同的数据库管理系统 DATABASES = { 'default': {...}, '

我想通过django查询将3个不同数据库中的用户表中的数据组合起来。 它们的结构大致相同,因此我选择制作一个非托管模型来表示它们

出于测试目的,我通过将输出打印到控制台来检查输出

但是,输出仅包含db1的数据

我无法将它们合并,因为有一个不可分割的文本字段

Q:有什么比通过model.objects.raw()触发原始sql更好的方法吗

以下是一些文件,以便更好地进行概述:

settings.py相同的数据库管理系统

DATABASES = {
   'default': {...},
   'db1': {
        'ENGINE': 'sql_server.pyodbc', ...},
    'db2': {
        'ENGINE': 'sql_server.pyodbc', ...},
    'db3': {
        'ENGINE': 'sql_server.pyodbc', ...}
    }
}
models.py-3个数据库的相同型号

class UserProfile(models.Model):
    id = models.IntegerField(db_column="x", primary_key=True)
    user_name = models.CharField(db_column="y", max_length=255, null=True, blank=True)
    ...

    class Meta:
        managed = False
        db_table = 'Users'
views.py-针对所有输出和不同顺序进行测试

def userprofile(request):
    d = UserProfile.objects.using('db1').all()
    e = UserProfile.objects.using('db2').all()
    f = UserProfile.objects.using('db3').all()

    for row in f:
        print(row.id, row.user_name)

    ...

    context = {...}
    return render(request, 'userprofile.html', context)