Siempre leo que debería usar
model = Model(a=5, b=6)
model.save()
Pero acabo de ver que hay una función de administrador para crear, porque vi una aplicación django de código abierto usándola.
model = Model.objects.create(a=5, b=6)
print model.pk
1
Entonces, ¿se sugiere usarlo? ¿O todavía se prefiere utilizar el método .save? Supongo que objects.create intentará crearlo sin importar qué, mientras que save puede guardar un objeto existente si se especifica el pk.
Estos son los documentos que encontré: https://docs.djangoproject.com/en/dev/topics/db/queries/#creating-objects

Respuestas:
Está en la página "Referencia de la API de QuerySet" , vinculada desde el índice de documentación.
fuente
p = Person.objects.create(first_name="Bruce", last_name="Springsteen")equivalente a:
p = Person(first_name="Bruce", last_name="Springsteen") p.save(force_insert=True)fuente
create esencialmente hace lo mismo. a continuación se muestra el código fuente para crear.
def create(self, **kwargs): """ Creates a new object with the given kwargs, saving it to the database and returning the created object. """ obj = self.model(**kwargs) self._for_write = True obj.save(force_insert=True, using=self.db) return objcrea una instancia y luego la guarda.
fuente
Básicamente, estos dos métodos son equivalentes . Se
Model.objects.createpodría preferir el uso de ya que se adapta más al estilo de Django.fuente