Add support for describing master/slave arrangements in multi-db
|Reported by:||Russell Keith-Magee||Owned by:||nobody|
|Component:||Database layer (models, ORM)||Version:||1.2-alpha|
|Cc:||Jeff Balogh||Triage Stage:||Accepted|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Django's multidb setup can be used to implement master/slave database arrangements - however, there is no allowance made for the fact that an object retrieved from a slave is actually compatible with an object retrieved from the master (or, for that matter, another slave).
It should be possible to define data relationships in DATABASES, and have instance._state.db reflect those relationships - i.e., the database state should describe the actual data *source*, not just the databse from which the data was retrieved.
Once this support is in place, the cross-database validation checks (that were commented out just before the merge of the soc branch) can be reintroduced. Those checks should be modified to check the source, not the raw db alias.
There has been some initial discussion on django-dev about this subject.