2016-07-10 11 views
0

Ich habe zwei Modelle A und B (zum Beispiel Mitarbeiter und Projekte) und müssen mit vielen zu viele Beziehung dargestellt werden.Erstellen einer Viele-zu-Viele-Beziehung in Django

Ich habe die django docs gelesen. Aber, ich bin wenig verwirrt, ob ich B so viele zu vielen Feldern in A oder A hinzufügen sollte, wie viele zu vielen Feldern in B. Ich weiß, dass beide funktionieren werden.

Beraten Sie, welcher ist richtiger.

+0

In beiden Fällen sollte es in Ordnung sein. Finden Sie heraus, was für Sie logischeren Sinn macht. - Es sieht so aus, als ob Mitarbeiter in Projekten hier sinnvoller sind, aber ich habe kein vollständiges Verständnis Ihrer Anforderung. Lesen Sie auch dies für weitere Einblicke: http://charlesleifer.com/blog/describing-relationships-djangos-manytomany-through/ – karthikr

Antwort

0

sich die folgende Frage stellen:

ich mehr daran interessiert bin Mitarbeiter bei der Wahl, wenn Sie ein neues Projekt, oder ich bin mehr daran interessiert, Auswahl der Projekte, wenn ein neuer Mitarbeiter zu schaffen?

Dies sollte Ihnen helfen zu entscheiden, welches Objekt die Beziehung halten soll.

Zum Beispiel: Wenn Sie ein neues user erstellen - Sie sind mehr daran interessiert groups bei der Auswahl, anstatt die Auswahl users während ein neues group zu schaffen. Also, in einer solchen Situation, ist es für die user besser geeignet, groups als M2M Feld zu halten.

0

Sie können als ein Projekt denken Thema - Projekt von Mitarbeitern geliefert wird, während ein Mitarbeiter als Objekt denkt - ein Mitarbeiter auf einem oder mehrere Projekten arbeiten könnte. Da ein Angestellter derjenige ist, der handelt (und als solcher transaktionaler ist), könnten Sie wählen, was angemessener ist.

Verwandte Themen