2014-11-23 5 views
0

У меня есть две базы данных:Как фильтровать между двумя базами данных?

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'new', 
     'USER': 'xxxxx', 
     'PASSWORD': 'xxxxx', 
     'HOST': '', 
     'PORT': '', 
    }, 
    'old': { 
     'ENGINE': 'django.db.backends.postgresql_psycopg2', 
     'NAME': 'old', 
     'USER': 'xxxxx', 
     'PASSWORD': 'xxxxx', 
     'HOST': '', 
     'PORT': '', 
    }, 
} 

и модель:

class MyModel(models.Model): 
    user = models.ForeignKey(User) 
    title = models.CharField(max_length=200) 
    text = models.TextField() 
    data = some other data 

Старая база данных содержит некоторые удаленные записи и некоторые новые database.How фильтровать записи из новой базы данных, нет записей из старой базы данных?

+0

В настоящее время он не поддерживается, если только вы не «подделываете» его в определенных случаях: https://docs.djangoproject.com/en/dev/topics/db/multi-db/#limitations-of-multiple-databases – gorus

ответ

1

Я сделал это:

f1 = MyModel.objects.using('old').all() 

pids = [p.id for p in f1] 

f2 = MyModel.objects.exclude(id__in=pids).filter() 

Но я не знаю, если это хорошо.

Смежные вопросы