2016-04-25 2 views
0

Ich möchte die Liste aller verfügbaren Gruppen mit einem zusätzlichen booleschen Feld erhalten zeigen, ob ein bestimmter Benutzer Mitglied dieser Gruppe ist.Alle Gruppen Liste mit zusätzlichen booleschen Feld zeigt Benutzerzugehörigkeit

Das Ergebnis ist eine Liste von ID, Gruppenname bezogen auf den Benutzer "myuser".

Wie kann ich eine Liste aller Gruppen (einschließlich derer, die nicht zur mygroup gehören) mit einem Nachweis der Mitgliedschaft für "myuser" auf einem zusätzlichen booleschen Feld (user_membership) haben?

id, Gruppenname, user_membership (true/false)

Antwort

0

könnten Sie a conditional expression verwenden:

Group.objects.annotate(user_membership=Case(
    When(user=myuser, then=Value(True)), 
    default=Value(False), 
    output_field=BooleanField(), 
)) 

Diese alle Gruppen mit einem zusätzlichen user_membership Feld zurückkehren würde enthalten True oder False Werte.

+0

Das ist, was ich gesucht habe. Vielen Dank! – Steve