diff options
author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2017-05-18 19:11:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-18 19:11:23 +0200 |
commit | 99df304c856ac2f6ee18418ea8ca3e2dc7b47dac (patch) | |
tree | fc6b26ff7dd7a1d6debae091576865dbbaa0a081 /tests/raw_query | |
parent | 98b3b14a648a128d409b8f6169c1a4ff9d71c1a4 (diff) | |
download | django-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.py | 4 | ||||
-rw-r--r-- | tests/raw_query/tests.py | 13 |
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 |