2016-05-04 7 views
1

Nach Modellbeziehungen sqlite:Django mit Anmerkungen versehen/zählen Filter nur mit Postgres funktioniert nicht

  • classA hat eine Nicht-Nullable-FK-Field Klasse C.
  • Klasse B hat ein Nullable-FK-Feld für Klasse C.

Ich brauche eine Liste von classA-Datensätze, die Null classB-Aufzeichnungen mit dem gemeinsamen Klasse C-Rekord hat.

In Postgres beiden Abfragen geben Sie mir, was ich will, während in SQLite sie mir beide geben ein leeres Ergebnis:

ClassA.objects.annotate(num_classb=Count('classc__classbs')).filter(num_classb=0) 

ClassA.objects.filter(classc__classbs__isnull=True) 

Wo finde ich falsch? Ich habe nicht gefunden, etwas über Unterschiede in der Handhabung solcher Filter/Anmerkungen zwischen Postgre und SQLite

+0

die Modelle veröffentlichen – e4c5

Antwort

1
+0

mignt helfen Wie würde das Hinzufügen einer 'order_by' eine leere queryset beeinflussen? –

+0

Durch Hinzufügen einer leeren .Order_by() werden alle Sortierungen entfernt, die sich auf das Ergebnis auswirken können. Ein ähnliches Problem wird hier beschrieben: http://stackoverflow.com/questions/13816062/annotate-in-sqlite – justdavey

Verwandte Themen