Wie erstelle ich einen queryset in django Fäden in wich ein Benutzer abgefragt hat geschrieben?

StackOverflow https://stackoverflow.com/questions/1409800

  •  05-07-2019
  •  | 
  •  

Frage

Ich mache ein Gewinde Forum App django-MPTT. Alles ist und läuft, aber ich habe Probleme Aufbau ein spezifisches queryset.

Ich möchte Beiträge abrufen welche:

1) sind Wurzelknoten

2) durch current_user gebucht werden oder haben ein Nachkomme von current_user geschrieben.

Was ich habe, so weit ist diese:

Post.objects.filter(Q(user = current_user) | Q(  )).exclude(parent__gt = 0)

in meinem zweiten Q ich etwas brauche, ob current_user zu sagen, hat einen seiner Nachkommen geschrieben. Wer weiß, ob es überhaupt möglich ist?

War es hilfreich?

Lösung

Ich glaube nicht, dass Sie dies in einer Abfrage tun. Hier ist, wie es in zwei zu tun:

thread_ids = Post.objects.filter(user=current_user).values_list('tree_id', flat=True)
posts = Post.objects.filter(tree_id__in=thread_ids, level=0)

Dies erhält den MPTT Baum ID jedes Threads, der Benutzer in geschrieben hat. Dann ist es den Wurzelknoten von jedem dieser Fäden wird.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top