Commit c58e5724 authored by Julien Phalip's avatar Julien Phalip
Browse files

Fixed a couple of `assert` syntax warnings mistakingly introduced in r16966...

Fixed a couple of `assert` syntax warnings mistakingly introduced in r16966 and added some tests to prevent future regressions. Thanks to Anssi Kääriäinen for the report.
Refs #12467.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16971 bcc190cf-cafb-0310-a4f2-bffc1f526a37
parent 639400d5
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -510,8 +510,8 @@ class AutoField(Field):
        'invalid': _(u"'%s' value must be an integer."),
    }
    def __init__(self, *args, **kwargs):
        assert (kwargs.get('primary_key', False) is True,
                "%ss must have primary_key=True." % self.__class__.__name__)
        assert kwargs.get('primary_key', False) is True, \
               "%ss must have primary_key=True." % self.__class__.__name__
        kwargs['blank'] = True
        Field.__init__(self, *args, **kwargs)

@@ -536,8 +536,8 @@ class AutoField(Field):
        return int(value)

    def contribute_to_class(self, cls, name):
        assert (not cls._meta.has_auto_field,
                "A model can't have more than one AutoField.")
        assert not cls._meta.has_auto_field, \
               "A model can't have more than one AutoField."
        super(AutoField, self).contribute_to_class(cls, name)
        cls._meta.has_auto_field = True
        cls._meta.auto_field = self
+10 −0
Original line number Diff line number Diff line
@@ -90,3 +90,13 @@ class GenericIPAddressTestModel(models.Model):

class GenericIPAddrUnpackUniqueTest(models.Model):
    generic_v4unpack_ip = models.GenericIPAddressField(blank=True, unique=True, unpack_ipv4=True)


try:
    # A model can't have multiple AutoFields
    # Refs #12467.
    class MultipleAutoFields(models.Model):
        auto1 = models.AutoField(primary_key=True)
        auto2 = models.AutoField(primary_key=True)
except AssertionError, e:
    assert e.message == u"A model can't have more than one AutoField."
 No newline at end of file
+6 −0
Original line number Diff line number Diff line
@@ -12,6 +12,12 @@ class ValidationMessagesTest(TestCase):
            f.clean('foo', None)
        except ValidationError, e:
            self.assertEqual(e.messages, [u"'foo' value must be an integer."])
        # primary_key must be True. Refs #12467.
        self.assertRaises(AssertionError, models.AutoField, 'primary_key', False)
        try:
            models.AutoField(primary_key=False)
        except AssertionError, e:
            self.assertEqual(e.message, u"AutoFields must have primary_key=True.")

    def test_integer_field_raises_error_message(self):
        f = models.IntegerField()