Ich habe eine Methode, die funktioniert, aber es scheint sehr ungeschickt, und ich würde denken, es gibt einen besseren Weg, dies zu tun.Instanziieren Modellinstanz mit vielenTomany Feld in Django
Ich habe ein Modell, das einen Benutzer auf meiner Website (ein Twitter-Klon für Lernzwecke) mit einer Liste anderer Benutzer in Beziehung setzt.
Wenn ich jetzt einen neuen Benutzer erstelle, möchte ich diese Liste mit dem Benutzer als Mitglied der Liste initialisieren.
mein Modell ist:
class FollowerList(models.Model)
follower = models.ForeignKey(User,related_name="follower")
followed = models.ManyToManyField(User,related_name="followed"
den Code in meiner Ansicht, dass ich gerade jetzt bin ist
user = User.objects.get(username=uname)
flst = FollowerList()
flst.follower = user
flst.save()
flst.followed.add(user)
flst.save()
Es scheint mir, wie es sollte ein Verfahren sein, das für die Erstellung von ohne save() zweimal aufzurufen, aber ich kann es nicht in der Dokumentation oder anderswo finden.
Das Problem, wenn ich dies tun, ist, dass ich eine Fehlermeldung erhalten dass FollowerList Objekt ein Muss Primärschlüssel, bevor es die ManyToManyField-Instanzen hinzufügen kann. Und der einzige Weg, den ich sehen kann, ist, ihn zuerst zu instantiieren und zu speichern und dann das andere Feld hinzuzufügen. –
Nun, FollowerList.objects.create (Follower = Benutzer) gibt es einen Primärschlüssel. Es macht das Speichern. –
Gibt es einen Link zu Dokumenten zu diesem Thema? Kann keine finden ... – jperelli