Commit 5f2be4ec authored by Ramiro Morales's avatar Ramiro Morales
Browse files

Fixed #17056 -- Tweaked insert SQL clause generation so a corner case doesn't fail with Oracle.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16997 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent b7f2aba5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -824,7 +824,7 @@ class SQLInsertCompiler(SQLCompiler):
                for val in values
            ]
        if self.return_id and self.connection.features.can_return_id_from_insert:
            params = values[0]
            params = params[0]
            col = "%s.%s" % (qn(opts.db_table), qn(opts.pk.column))
            result.append("VALUES (%s)" % ", ".join(placeholders[0]))
            r_fmt, r_params = self.connection.ops.return_insert_id()
+9 −0
Original line number Diff line number Diff line
@@ -1868,3 +1868,12 @@ class UnionTests(unittest.TestCase):
        Q1 = Q(objecta__name='one', objectc__objecta__name='two')
        Q2 = Q(objecta__objectc__name='ein', objectc__objecta__name='three', objecta__objectb__name='trois')
        self.check_union(ObjectB, Q1, Q2)


class DefaultValuesInsertTest(TestCase):
    def test_no_extra_params(self):
        # Ticket #17056 -- affects Oracle
        try:
            DumbCategory.objects.create()
        except TypeError:
            self.fail("Creation of an instance of a model with only the PK field shouldn't error out after bulk insert refactoring (#17056)")