Django Back-End Design Advice
So I'm thinking this through, and one possibility I have come up with is to build databases (in mysql in my case) supported by Django that represent the data I am interested in from these data sources.  
I could then override the model methods that query from/save changes to the mysql model to make calls to an external python class I write to interact directly with the data source and respective mysql database.
So, for example, in a query call, I could override the django method for doing so and prepend an operation to check if the mysql records are "stale" before calling super - if so, request an update to them before continuing.  
In an update operation, I could append (post-update to mysql table), an operation to request that the external class update the external source.
This is a kind of roundabout way of doing it, but it does allow me to keep the app itself all within the django framework and if, in the future, modules are well implemented that provide a direct back-end interface to these sources, I can swap out the workaround with the direct interface easy enough.  
Thoughts? Criticisms?
I have a tool I use at work, written in python, that I want to port into the Django framework to make writing a web-based management interface more seamless.  I've been through the django tutorials and have a pretty solid understanding of how to write a basic django app with your own database (or databases).
The dilemma I've run into with this particular project is that I am referencing multiple data sources that:

May or may not actually be SQL databases, and some do not have any implementation as a django back-end (LDAP and Google Admin SDK for example).
Are third party data sources for which the overall "model" may change without notice, I have no control over this... Though the portions of their 'model' that I will be accessing will likely never change.

So my question is:  Should I even be thinking about these external data sources as a django 'model'?  Or am I better off just writing some separate interface classes for dealing with those data sources?
I can see the possibility of writing in a new 'db engine' to handle communications with these data sources so from the actual app implementation I can call all the usual methods like I am querying any database. Ideally, the core of the app I am writing needs to not care about the implementation details of each datasource that it connects to - I want to make it as pluggable as possible so implementation of new datasource types in the future doesn't involve much if any modification to the core code. 
I want to know if that is the 'accepted' way of doing it though - or if, for custom situations like this, you would work around using the django back-end and just implement your own custom solution for querying information out of those data sources.
I hope this question is clear enough... If not, ask me for whatever specifics you need.  Thanks!