If I understand things correctly, registration of new url-schemas to enable 
something like dj-database-url to support 3rd parties should be a trivial 
matter; just add an entry to some dictionary, with the schema as key, and the 
dotted-path of the backend as value.

IMO, scanning INSTALLED_APPS, or relying on ready(), is a lot of over-
engineering for this. Just do the registration from the settings file, before 
invoking the url-parsing mechanism:

        from django.database_url import register_backend, configure_db

        register_backend('pyodbc-azure', 'sql_server.pyodbc')

        DATABASES = {'default' : configure_db() }

The only barrier I see is namespacing -- the functions mentioned above cannot 
live in django.conf (would cause a circular import if imported from the 
settings module) nor django.db (which shouldn't be imported too early), and 
that's why I wrote `django.database_url` above.

What am I missing?

Reply via email to