Undo the effects of PostgresConfig.ready() when django.contrib.postgres is "uninstalled" by override_settings().
(setting, value, enter, **kwargs)
| 22 | |
| 23 | |
| 24 | def 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 | |
| 52 | class PostgresConfig(AppConfig): |
nothing calls this directly
no test coverage detected