Frage

Ich habe apps Benutzer und Projekte und mag eine andere App namens Rollen für die Erweiterung django-Auth für Pro-Projektbasis definieren.

I definiert ProjectMembership in den Rollen App als benutzerdefiniertes ManyToMany Beziehungsmodell. Aber wie kann ich definiere das M2M-Feld in Benutzer- oder Projektmodell mit through Erklärung?

So Frage ist, können wir Modell Feld aus einer anderen Anwendung definieren?

War es hilfreich?

Lösung

Ich glaube nicht, es möglich ist, und selbst wenn es gelingt, dann ist es meiner Meinung nach ist eine sehr schlechte Lösung.

Ich denke, die beste Wahl ist das ProjectMembership Modell mit zwei FK sind, ein auf Benutzer und einem zu Projekt zu erstellen. Dann haben Sie eine Handbuch M2M-Beziehung, und Sie können nicht nur alle schön Django bietet für mit M2M Beziehungen arbeiten.

Wenn Sie jedoch wollen, dass diese Merkmale (sie sind nicht erforderlich), dann sollten Sie entweder ändern Sie den Benutzer oder das Projektmodell.

Andere Tipps

Ja, Sie können, django wird die umgekehrte Beziehung automatisch für Sie erstellen. Verwenden related_name gibt ihm einen Namen!

Ändern (Geld-Patching) das User Modell ist keine gute Idee. Wenn Sie es erweitern möchten, tun Sie es entweder über:

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