Development of an internal social media platform with personalised dashboards for students
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

apps.py 1.6KB

1234567891011121314151617181920212223242526272829303132333435
  1. from django.apps import AppConfig
  2. from django.db import connections
  3. from django.db.backends.signals import connection_created
  4. from django.db.models import CharField, TextField
  5. from django.utils.translation import gettext_lazy as _
  6. from .lookups import SearchLookup, TrigramSimilar, Unaccent
  7. from .signals import register_type_handlers
  8. class PostgresConfig(AppConfig):
  9. name = 'django.contrib.postgres'
  10. verbose_name = _('PostgreSQL extensions')
  11. def ready(self):
  12. # Connections may already exist before we are called.
  13. for conn in connections.all():
  14. if conn.vendor == 'postgresql':
  15. conn.introspection.data_types_reverse.update({
  16. 3802: 'django.contrib.postgres.fields.JSONField',
  17. 3904: 'django.contrib.postgres.fields.IntegerRangeField',
  18. 3906: 'django.contrib.postgres.fields.FloatRangeField',
  19. 3910: 'django.contrib.postgres.fields.DateTimeRangeField',
  20. 3912: 'django.contrib.postgres.fields.DateRangeField',
  21. 3926: 'django.contrib.postgres.fields.BigIntegerRangeField',
  22. })
  23. if conn.connection is not None:
  24. register_type_handlers(conn)
  25. connection_created.connect(register_type_handlers)
  26. CharField.register_lookup(Unaccent)
  27. TextField.register_lookup(Unaccent)
  28. CharField.register_lookup(SearchLookup)
  29. TextField.register_lookup(SearchLookup)
  30. CharField.register_lookup(TrigramSimilar)
  31. TextField.register_lookup(TrigramSimilar)