如何在两个数据库之间过滤?

时间:2014-11-23 12:08:28

标签: django django-models django-database

我有两个数据库:

   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

旧数据库包含一些已删除的条目和一些新数据库。如何从新数据库中过滤旧数据库中没有条目的条目?

1 个答案:

答案 0 :(得分:1)

我做到了:

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

pids = [p.id for p in f1]

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

但我不知道它是否好。