4 Stimmen

Queryset nach einem generischen Fremdschlüssel sortieren (django)?

Ich verwende Djangos Kommentar-Framework, das generische Fremdschlüssel verwendet.

Frage: Wie sortiere ich den Abfragesatz eines bestimmten Modells nach der Anzahl der Kommentare, indem ich die generische Fremdschlüsselabfrage verwende?

Lesen der django-Dokumente zu diesem Thema es heißt, dass man sie berechnen muss nicht unter Verwendung der Aggregations-API:

Die Datenbank-Aggregations-API von Django funktioniert nicht mit einer GenericRelation. [...] Wenn Sie Aggregate für generische Relationen benötigen, müssen Sie diese vorerst ohne die Aggregations-API berechnen.

Die einzige Möglichkeit, die mir einfällt, wäre, durch meinen Abfragesatz zu iterieren und eine Liste mit content_type et object_id für jedes Element, dann führen Sie einen zweiten Abfragesatz für das Kommentar-Modell aus, indem Sie nach dieser Liste von content_type et object_id ... sortieren Sie die Objekte nach der Anzahl und erstellen Sie dann eine neue Abfrage in dieser Reihenfolge, indem Sie die content_object für jeden Kommentar ...

Das erscheint mir einfach falsch, und ich weiß nicht einmal, wie ich es anstellen soll.

Ideen? Irgendjemand muss das schon mal gemacht haben.

Ich fand ce poste online, aber dafür muss ich SQL handschriftlich eingeben - ist das wirklich notwendig?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X