Routes models of each app into the database with same name falling back to "default" database.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | from django.conf import settings
class AppNameDatabaseRouter(object):
"""
Per application database. Use the database named like the app or fall
back to default.
"""
def db_for_read(self, model, **hints):
if model._meta.app_label in settings.DATABASES:
return model._meta.app_label
return None
def db_for_write(self, model, **hints):
if model._meta.app_label in settings.DATABASES:
return model._meta.app_label
return None
def allow_relation(self, obj1, obj2, **hints):
return obj1._meta.app_label == obj2._meta.app_label
|
More like this
- Image compression before saving the new model / work with JPG, PNG by Schleidens 4 days, 13 hours ago
- Help text hyperlinks by sa2812 1 month ago
- Stuff by NixonDash 3 months ago
- Add custom fields to the built-in Group model by jmoppel 5 months, 1 week ago
- Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 8 months, 3 weeks ago
Comments
Please login first before commenting.