mirror of
https://github.com/django/django.git
synced 2025-10-23 21:59:11 +00:00
Fixed #29979, Refs #17337 -- Extracted AutoField field logic into a mixin and refactored AutoFields.
This reduces duplication by allowing AutoField, BigAutoField and SmallAutoField to inherit from IntegerField, BigIntegerField and SmallIntegerField respectively. Doing so also allows for enabling the max_length warning check and minimum/maximum value validation for auto fields, as well as providing a mixin that can be used for other possible future auto field types such as a theoretical UUIDAutoField.
This commit is contained in:
committed by
Mariusz Felisiak
parent
b10d322c41
commit
21e559495b
@@ -38,6 +38,21 @@ class AutoFieldTests(SimpleTestCase):
|
||||
),
|
||||
])
|
||||
|
||||
def test_max_length_warning(self):
|
||||
class Model(models.Model):
|
||||
auto = models.AutoField(primary_key=True, max_length=2)
|
||||
|
||||
field = Model._meta.get_field('auto')
|
||||
self.assertEqual(field.check(), [
|
||||
DjangoWarning(
|
||||
"'max_length' is ignored when used with %s."
|
||||
% field.__class__.__name__,
|
||||
hint="Remove 'max_length' from field",
|
||||
obj=field,
|
||||
id='fields.W122',
|
||||
),
|
||||
])
|
||||
|
||||
|
||||
@isolate_apps('invalid_models_tests')
|
||||
class BinaryFieldTests(SimpleTestCase):
|
||||
|
||||
Reference in New Issue
Block a user