test_deprecated_fields.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. from django.core import checks
  2. from django.db import models
  3. from django.test import SimpleTestCase
  4. from django.test.utils import isolate_apps
  5. @isolate_apps('invalid_models_tests')
  6. class DeprecatedFieldsTests(SimpleTestCase):
  7. def test_IPAddressField_deprecated(self):
  8. class IPAddressModel(models.Model):
  9. ip = models.IPAddressField()
  10. model = IPAddressModel()
  11. self.assertEqual(
  12. model.check(),
  13. [checks.Error(
  14. 'IPAddressField has been removed except for support in '
  15. 'historical migrations.',
  16. hint='Use GenericIPAddressField instead.',
  17. obj=IPAddressModel._meta.get_field('ip'),
  18. id='fields.E900',
  19. )],
  20. )
  21. def test_CommaSeparatedIntegerField_deprecated(self):
  22. class CommaSeparatedIntegerModel(models.Model):
  23. csi = models.CommaSeparatedIntegerField(max_length=64)
  24. model = CommaSeparatedIntegerModel()
  25. self.assertEqual(
  26. model.check(),
  27. [checks.Error(
  28. 'CommaSeparatedIntegerField is removed except for support in '
  29. 'historical migrations.',
  30. hint='Use CharField(validators=[validate_comma_separated_integer_list]) instead.',
  31. obj=CommaSeparatedIntegerModel._meta.get_field('csi'),
  32. id='fields.E901',
  33. )],
  34. )