summaryrefslogtreecommitdiff
path: root/tests/raw_query
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-05-18 19:11:23 +0200
committerGitHub <noreply@github.com>2017-05-18 19:11:23 +0200
commit99df304c856ac2f6ee18418ea8ca3e2dc7b47dac (patch)
treefc6b26ff7dd7a1d6debae091576865dbbaa0a081 /tests/raw_query
parent98b3b14a648a128d409b8f6169c1a4ff9d71c1a4 (diff)
downloaddjango-99df304c856ac2f6ee18418ea8ca3e2dc7b47dac.tar.gz
Fixed #28206 -- Fixed RawQuerySet crash on a model with a mixed case db_column pk on Oracle.
Thanks Tim Graham for the review.
Diffstat (limited to 'tests/raw_query')
-rw-r--r--tests/raw_query/models.py4
-rw-r--r--tests/raw_query/tests.py13
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/raw_query/models.py b/tests/raw_query/models.py
index 7e090b7a3f..f0e6c3abb2 100644
--- a/tests/raw_query/models.py
+++ b/tests/raw_query/models.py
@@ -32,6 +32,10 @@ class Coffee(models.Model):
price = models.DecimalField(max_digits=10, decimal_places=2, default=0)
+class MixedCaseIDColumn(models.Model):
+ id = models.AutoField(primary_key=True, db_column='MiXeD_CaSe_Id')
+
+
class Reviewer(models.Model):
reviewed = models.ManyToManyField(Book)
diff --git a/tests/raw_query/tests.py b/tests/raw_query/tests.py
index 26b57dc139..bcc075ea35 100644
--- a/tests/raw_query/tests.py
+++ b/tests/raw_query/tests.py
@@ -5,7 +5,10 @@ from django.db.models.query import RawQuerySet
from django.db.models.query_utils import InvalidQuery
from django.test import TestCase, skipUnlessDBFeature
-from .models import Author, Book, BookFkAsPk, Coffee, FriendlyAuthor, Reviewer
+from .models import (
+ Author, Book, BookFkAsPk, Coffee, FriendlyAuthor, MixedCaseIDColumn,
+ Reviewer,
+)
class RawQueryTests(TestCase):
@@ -129,6 +132,14 @@ class RawQueryTests(TestCase):
coffees = Coffee.objects.all()
self.assertSuccessfulRawQuery(Coffee, query, coffees)
+ def test_pk_with_mixed_case_db_column(self):
+ """
+ A raw query with a model that has a pk db_column with mixed case.
+ """
+ query = "SELECT * FROM raw_query_mixedcaseidcolumn"
+ queryset = MixedCaseIDColumn.objects.all()
+ self.assertSuccessfulRawQuery(MixedCaseIDColumn, query, queryset)
+
def test_order_handler(self):
"""
Test of raw raw query's tolerance for columns being returned in any