jsonb.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import warnings
  2. from django.db.models import JSONField as BuiltinJSONField
  3. from django.db.models.fields.json import (
  4. KeyTextTransform as BuiltinKeyTextTransform,
  5. KeyTransform as BuiltinKeyTransform,
  6. )
  7. from django.utils.deprecation import RemovedInDjango40Warning
  8. __all__ = ['JSONField']
  9. class JSONField(BuiltinJSONField):
  10. system_check_deprecated_details = {
  11. 'msg': (
  12. 'django.contrib.postgres.fields.JSONField is deprecated. Support '
  13. 'for it (except in historical migrations) will be removed in '
  14. 'Django 4.0.'
  15. ),
  16. 'hint': 'Use django.db.models.JSONField instead.',
  17. 'id': 'fields.W904',
  18. }
  19. class KeyTransform(BuiltinKeyTransform):
  20. def __init__(self, *args, **kwargs):
  21. warnings.warn(
  22. 'django.contrib.postgres.fields.jsonb.KeyTransform is deprecated '
  23. 'in favor of django.db.models.fields.json.KeyTransform.',
  24. RemovedInDjango40Warning, stacklevel=2,
  25. )
  26. super().__init__(*args, **kwargs)
  27. class KeyTextTransform(BuiltinKeyTextTransform):
  28. def __init__(self, *args, **kwargs):
  29. warnings.warn(
  30. 'django.contrib.postgres.fields.jsonb.KeyTextTransform is '
  31. 'deprecated in favor of '
  32. 'django.db.models.fields.json.KeyTextTransform.',
  33. RemovedInDjango40Warning, stacklevel=2,
  34. )
  35. super().__init__(*args, **kwargs)