'Inserts each of the instances into the database. This does *not* call
save() on each of the instances, does not send any pre/post save
signals, and does not set the primary key attribute if it is an
autoincrement field.'

def bulk_create(self, objs, batch_size=None):

    assert ((batch_size is None) or (batch_size > 0))
    if self.model._meta.parents:
        raise ValueError("Can't    bulk    create    an    inherited    model")
    if (not objs):
        return objs
    self._for_write = True
    connection = connections[self.db]
    fields = self.model._meta.local_concrete_fields
    with transaction.commit_on_success_unless_managed(using=self.db):
        if (connection.features.can_combine_inserts_with_and_without_auto_increment_pk and self.model._meta.has_auto_field):
            self._batched_insert(objs, fields, batch_size)
        else:
            (objs_with_pk, objs_without_pk) = partition((lambda o: (o.pk is None)), objs)
            if objs_with_pk:
                self._batched_insert(objs_with_pk, fields, batch_size)
            if objs_without_pk:
                fields = [f for f in fields if (not isinstance(f, AutoField))]
                self._batched_insert(objs_without_pk, fields, batch_size)
    return objs
