summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam DePue <adepue@hearsaycorp.com>2014-11-05 02:57:47 +0000
committerTim Graham <timograham@gmail.com>2014-11-13 11:06:59 +0100
commite118e3af371ae58cee7420d2ea2020c8bdeb461e (patch)
tree7553c6f8b5c97b25aea1e520313ee0ddda516f60
parent7ef81b5cdd4c8eda12aa7786484a0bfde00aaaa4 (diff)
Fixed #23761 -- Added test for MySQL validator and db_type is None.
The issue was fixed on master in e9103402c0fa873aea58a6a11dba510cd308cb84 so this just forwardports the test and release notes from stable/1.7.x. Forwardport of 2d12a59938 from stable/1.7.x
-rw-r--r--docs/releases/1.7.2.txt5
-rw-r--r--tests/invalid_models_tests/test_custom_fields.py20
2 files changed, 24 insertions, 1 deletions
diff --git a/docs/releases/1.7.2.txt b/docs/releases/1.7.2.txt
index 207b7d2a0c..976210367d 100644
--- a/docs/releases/1.7.2.txt
+++ b/docs/releases/1.7.2.txt
@@ -51,8 +51,11 @@ Bugfixes
(:ticket:`23420`).
* Fixed a migration serializing bug involving ``float("nan")`` and
- ``float("inf")`` (:ticket:23770:).
+ ``float("inf")`` (:ticket:`23770`).
* Fixed a regression where custom form fields having a ``queryset`` attribute
but no ``limit_choices_to`` could not be used in a
:class:`~django.forms.ModelForm` (:ticket:`23795`).
+
+* Fixed a custom field type validation error with MySQL backend when
+ ``db_type`` returned ``None`` (:ticket:`23761`).
diff --git a/tests/invalid_models_tests/test_custom_fields.py b/tests/invalid_models_tests/test_custom_fields.py
new file mode 100644
index 0000000000..03e65b599b
--- /dev/null
+++ b/tests/invalid_models_tests/test_custom_fields.py
@@ -0,0 +1,20 @@
+from django.db import models
+
+from .base import IsolatedModelsTestCase
+
+
+class CustomFieldTest(IsolatedModelsTestCase):
+
+ def test_none_column(self):
+ class NoColumnField(models.AutoField):
+ def db_type(self, connection):
+ # None indicates not to create a column in the database.
+ return None
+
+ class Model(models.Model):
+ field = NoColumnField(primary_key=True, db_column="other_field")
+ other_field = models.IntegerField()
+
+ field = Model._meta.get_field('field')
+ errors = field.check()
+ self.assertEqual(errors, [])