Kaydet (Commit) 7a5b7e35 authored tarafından Tim Graham's avatar Tim Graham

Fixed #22705 -- Fixed QuerySet.bulk_create() on models without any fields on Oracle.

Fixed on other backends by 134ca4d4.

Thanks Mariusz Felisiak for the solution.
üst 00db71d4
......@@ -267,6 +267,9 @@ WHEN (new.%(col_name)s IS NULL)
def max_name_length(self):
return 30
def pk_default_value(self):
return "NULL"
def prep_for_iexact_query(self, x):
return x
......
......@@ -47,3 +47,7 @@ class State(models.Model):
class TwoFields(models.Model):
f1 = models.IntegerField(unique=True)
f2 = models.IntegerField(unique=True)
class NoFields(models.Model):
pass
......@@ -10,8 +10,8 @@ from django.test import (
)
from .models import (
Country, Pizzeria, ProxyCountry, ProxyMultiCountry, ProxyMultiProxyCountry,
ProxyProxyCountry, Restaurant, State, TwoFields,
Country, NoFields, Pizzeria, ProxyCountry, ProxyMultiCountry,
ProxyMultiProxyCountry, ProxyProxyCountry, Restaurant, State, TwoFields,
)
......@@ -177,6 +177,10 @@ class BulkCreateTests(TestCase):
TwoFields.objects.bulk_create(objs, len(objs))
self.assertEqual(TwoFields.objects.count(), len(objs))
def test_empty_model(self):
NoFields.objects.bulk_create([NoFields() for i in range(2)])
self.assertEqual(NoFields.objects.count(), 2)
@skipUnlessDBFeature('has_bulk_insert')
def test_explicit_batch_size_efficiency(self):
objs = [TwoFields(f1=i, f2=i) for i in range(0, 100)]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment