MCPcopy
hub / github.com/django/django / uninstall_if_needed

Function uninstall_if_needed

django/contrib/postgres/apps.py:24–49  ·  view source on GitHub ↗

Undo the effects of PostgresConfig.ready() when django.contrib.postgres is "uninstalled" by override_settings().

(setting, value, enter, **kwargs)

Source from the content-addressed store, hash-verified

22
23
24def uninstall_if_needed(setting, value, enter, **kwargs):
25 """
26 Undo the effects of PostgresConfig.ready() when django.contrib.postgres
27 is "uninstalled" by override_settings().
28 """
29 if (
30 not enter
31 and setting == "INSTALLED_APPS"
32 and "django.contrib.postgres" not in set(value)
33 ):
34 connection_created.disconnect(register_type_handlers)
35 CharField._unregister_lookup(Unaccent)
36 TextField._unregister_lookup(Unaccent)
37 CharField._unregister_lookup(SearchLookup)
38 TextField._unregister_lookup(SearchLookup)
39 CharField._unregister_lookup(TrigramSimilar)
40 TextField._unregister_lookup(TrigramSimilar)
41 CharField._unregister_lookup(TrigramWordSimilar)
42 TextField._unregister_lookup(TrigramWordSimilar)
43 CharField._unregister_lookup(TrigramStrictWordSimilar)
44 TextField._unregister_lookup(TrigramStrictWordSimilar)
45 # Disconnect this receiver until the next time this app is installed
46 # and ready() connects it again to prevent unnecessary processing on
47 # each setting change.
48 setting_changed.disconnect(uninstall_if_needed)
49 MigrationWriter.unregister_serializer(RANGE_TYPES)
50
51
52class PostgresConfig(AppConfig):

Callers

nothing calls this directly

Calls 2

unregister_serializerMethod · 0.80
disconnectMethod · 0.45

Tested by

no test coverage detected