Ich habe immer gelesen, dass ich verwenden sollte
model = Model(a=5, b=6)
model.save()
Aber ich habe gerade gesehen, dass eine Managerfunktion erstellt wurde, weil ich eine OpenSource-Django-App gesehen habe, die sie verwendet.
model = Model.objects.create(a=5, b=6)
print model.pk
1
Wird also empfohlen, es zu verwenden? Oder ist es immer noch bevorzugt, die .save-Methode zu verwenden? Ich vermute, dass objects.create versucht, es zu erstellen, egal was passiert, während save ein vorhandenes Objekt speichern kann, wenn das pk angegeben wird.
Dies sind die Dokumente, die ich gefunden habe: https://docs.djangoproject.com/de/dev/topics/db/queries/#creating-objects
Antworten:
Es befindet sich auf der Seite "QuerySet API-Referenz" , die über den Dokumentationsindex verlinkt ist.
quelle
gleichwertig:
quelle
erstellen macht im Wesentlichen das gleiche. Unten ist der Quellcode zum Erstellen.
Es erstellt eine Instanz und speichert sie dann.
quelle
Grundsätzlich sind diese beiden Methoden gleichwertig . Die Verwendung von
Model.objects.create
könnte bevorzugt werden, da es eher zum Stil von Django passt.quelle