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
- Browser-native date input field by kytta 1 month ago
- Generate and render HTML Table by LLyaudet 1 month, 2 weeks ago
- My firs Snippets by GutemaG 1 month, 2 weeks ago
- FileField having auto upload_to path by junaidmgithub 2 months, 3 weeks ago
- LazyPrimaryKeyRelatedField by LLyaudet 3 months ago
Comments
Please login first before commenting.