Refs #26983 -- Added test for isnull lookup to CharField with primary_key=True.

This commit is contained in:
Chris Lamb 2016-08-17 21:09:50 +01:00 committed by Tim Graham
parent 3d0a3c5fff
commit 97513269d7
3 changed files with 13 additions and 3 deletions

View File

@ -28,7 +28,8 @@ Bugfixes
(:ticket:`27005`). (:ticket:`27005`).
* Fixed the ``isnull`` lookup on a ``ForeignKey`` with its ``to_field`` * Fixed the ``isnull`` lookup on a ``ForeignKey`` with its ``to_field``
pointing to a ``CharField`` (:ticket:`26983`). pointing to a ``CharField`` or pointing to a ``CharField`` defined with
``primary_key=True`` (:ticket:`26983`).
* Prevented the ``migrate`` command from raising * Prevented the ``migrate`` command from raising
``InconsistentMigrationHistory`` in the presence of unapplied squashed ``InconsistentMigrationHistory`` in the presence of unapplied squashed

View File

@ -261,7 +261,7 @@ class CustomPk(models.Model):
class Related(models.Model): class Related(models.Model):
custom = models.ForeignKey(CustomPk, models.CASCADE) custom = models.ForeignKey(CustomPk, models.CASCADE, null=True)
class CustomPkTag(models.Model): class CustomPkTag(models.Model):

View File

@ -2482,7 +2482,16 @@ class ToFieldTests(TestCase):
[node1] [node1]
) )
def test_isnull_query(self):
class IsNullTests(TestCase):
def test_primary_key(self):
custom = CustomPk.objects.create(name='pk')
null = Related.objects.create()
notnull = Related.objects.create(custom=custom)
self.assertSequenceEqual(Related.objects.filter(custom__isnull=False), [notnull])
self.assertSequenceEqual(Related.objects.filter(custom__isnull=True), [null])
def test_to_field(self):
apple = Food.objects.create(name="apple") apple = Food.objects.create(name="apple")
Eaten.objects.create(food=apple, meal="lunch") Eaten.objects.create(food=apple, meal="lunch")
Eaten.objects.create(meal="lunch") Eaten.objects.create(meal="lunch")