Provides a read-only LegacyQuerySet class that can be used to support database versions that Django refuses to support anymore even though the underlying sql queries still work. This LegacyQuerySet class works by taking the sql that is generated by Django's QuerySet and running it manually to avoid the version checks that Django performs.
- Override the model's default manager with LegacyManager.
- Override the model's base manager by adding base_manager_name = "objects" to its Meta class. Otherwise foreign relations won't work, and the models will throw errors in the admin.
- Extending the default QuerySet proved difficult. It was easier to create a wrapper class instead.
- Overriding the model admin's get_queryset method does not appear to be necessary if the base_manager_name is overwritten.
- LegacyQuerySets are read-only. They cannot be used to write to the database.