Ich muss eine Tabelle von einer entfernten Datenbank überprüfen und eine andere Tabelle in meiner Datenbank aktualisieren. Die Modelle haben gleiche Felder aber mit Differenzverfahren Prüfung einen Fehler zurück:Django qs1.difference (qs2, qs3) wird vom Backend nicht unterstützt
qs1 get the data from one postgresql db
qs2 get the data from one mysql db
qs1 = (Local.objects
.values_list('ref')
)
qs2 = (Remote.objects
.filter()
.values_list('ref'))
>>> qs1.difference(qs1, qs2)
DatabaseError: intersection not supported on this database backend.
Ja, was ist Ihre Frage? –
was mache ich falsch? Ich verstehe den Unterschied nicht, ich bekomme diesen Fehler. – user2239318
Wie der Fehler angibt, scheint es, dass Sie ein Backend verwenden, das nicht mit dieser Funktion kompatibel ist (ich nehme an, dass Sie PostgreSQL nicht verwenden). 'Differenz()' Methode ist neu in Django 1.11 so vielleicht gibt es andere Methoden zu tun, was Sie tun möchten, die mit Ihrem Backend arbeiten wird. –