django bulk_create code example

Example 1: how to save bulk create in django

# took 0.47 seconds
def builtin():
    insert_list = []
    for i in range(10000):
        name="String number %s" %i
        insert_list.append(Record(name=name))
    Record.objects.bulk_create(insert_list)

Example 2: bulk create django

bulk_create(objs, batch_size = None, ignore_conflicts = False)

#eg
Entry.objects.bulk_create([
...     Entry(headline='This is a test'),
...     Entry(headline='This is only a test'),
... ])
# inserts in one query (usually), caveats below:
# doesn't signal pre_save and post_save 
# cant use child models
# no many-to-many
# obj list fully evaluates if objs is a generator

Example 3: django insert bulk data

Entry.objects.bulk_create([
  Entry(headline = "foo"),
  Entry(headline = "bar")
])

Example 4: django 3.0 queryset examples

>>> Entry.objects.filter(
...     headline__startswith='What'
... ).exclude(
...     pub_date__gte=datetime.date.today()
... ).filter(
...     pub_date__gte=datetime.date(2005, 1, 30)
... )