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
This commit is contained in:
parent
639400d52f
commit
c58e5724bc
|
@ -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
|
||||
|
|
|
@ -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."
|
|
@ -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()
|
||||
|
|
Loading…
Reference in New Issue