Ich möchte ein Modell mit Selbstabhängigkeit implementieren. Say Instanz People_A kann von People_B und People_C abhängen. Ich implementiere zuerst dieses Modell mit vielen zu vielen Schlüsseln.Modell Selbstabhängigkeit (1: n-Feld) Implementierung
class People(models.Model):
dependency = models. ManyToManyField ('self', blank=True, null=True)
Aber das Ergebnis ist, dass, wenn People_A auf People_B hängt in People_B hängt auch von People_A führen. Das will ich nicht haben.
Dann implementiere ich es mit Fremdschlüssel.
class People(models.Model):
dependency = models.ForeignKey('self', blank=True, null=True)
Aber das funktioniert auch nicht. Wenn People_A von People_B abhängt, können sich keine anderen People_B auf People_B verlassen. Es wird die alte Abhängigkeit mit der letzten Abhängigkeit abdecken.
dependencies = models.ManyToManyField("self", symmetrical=False)
Siehe docs für symmetrische:
würde Jeder Hinweis
Nur um zu verdeutlichen, ForeighKey: 'Wenn People_A von People_B abhängen, dann könnten sich keine anderen Leute auf People_B' verlassen. Andere Leute können sich immer noch auf People_B verlassen, aber People_A kann jetzt keine andere Abhängigkeit haben als People_B – stalk
Hi, Stalk ist richtig. – user2354910