Ich schreibe eine Django-App, die Gruppen von Benutzern definiert. Ein Benutzer kann Teil vieler Gruppen sein.Django: Wo soll ich Fragen über Benutzer stellen, der zu anderen Modellen in Beziehung steht?
Ich möchte in der Lage sein, aus einer Liste von Gruppen Benutzer abzurufen, die Mitglieder mindestens einer dieser Gruppen und ohne Duplikat sind.
Also schrieb ich eine Abfrage, um das zu erreichen. Diese Methode nimmt eine Liste von group_id und gibt einfach eine Liste von Benutzern zurück. Meine Frage ist: Wo ist der beste Ort, um diese Methode zu setzen?
Ich dachte daran, einen benutzerdefinierten Manager für mein Gruppenmodell zu erstellen. Aber es scheint nicht logisch, da meine Methode mir eine Liste von Benutzern zurückgeben wird.
Nach dem doc: https://docs.djangoproject.com/en/1.8/topics/db/managers/
-Manager eines Modells sollten Fragen zu diesem Modell enthält.
Nach einiger Recherche habe ich gesehen, dass es nicht ratsam ist, den django.auth.models.User Manager (zumindest in meinem Fall) zu erweitern.
Im Moment werde ich meine Methode einfach in eine 'service.py'-Datei schreiben, aber ich habe mich gefragt, ob es eine elegantere Art gibt, das zu erreichen, was ich zu tun versuche.
Vielen Dank für Ihre Vorschläge!
Danke für die Antwort. Tatsächlich habe ich bereits Benutzergruppen für die Erlaubnis verwendet. Meine Frage war mehr über die Konzeption und wo diese Art von Code. Meine App ist ein Newsletter und ich wollte mit einer Newsletter-Kampagne gezielt auf ganz bestimmte Nutzer abzielen. Aber du hast recht, ich kann es mit Django-Gruppen schaffen! :) – Jisson