Commit e118e3af authored by Adam DePue's avatar Adam DePue Committed by Tim Graham
Browse files

Fixed #23761 -- Added test for MySQL validator and db_type is None.

The issue was fixed on master in e9103402
so this just forwardports the test and release notes from stable/1.7.x.

Forwardport of 2d12a599 from stable/1.7.x
parent 7ef81b5c
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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`).
+20 −0
Original line number Diff line number Diff line
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, [])