diff --git a/GeoffreyApp/migrations/0002_auto_20190818_0116.py b/GeoffreyApp/migrations/0002_auto_20190818_0116.py new file mode 100644 index 0000000..0afb2bf --- /dev/null +++ b/GeoffreyApp/migrations/0002_auto_20190818_0116.py @@ -0,0 +1,23 @@ +# Generated by Django 2.1.2 on 2019-08-18 01:16 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('GeoffreyApp', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='apitoken', + name='admin_commands_perm', + field=models.BooleanField(default=False), + ), + migrations.AddField( + model_name='apitoken', + name='mod_commands_perm', + field=models.BooleanField(default=False), + ), + ] diff --git a/GeoffreyApp/router.py b/GeoffreyApp/router.py new file mode 100644 index 0000000..4b73ee1 --- /dev/null +++ b/GeoffreyApp/router.py @@ -0,0 +1,37 @@ +class GeoffreyAppRouter: + """ + A router to control all database operations on models in GeoffreyApp + """ + def db_for_read(self, model, **hints): + """ + Attempts to read GeoffreyApp models go to GeoffreyApp database. + """ + if model._meta.app_label == 'GeoffreyApp': + return 'GeoffreyApp' + return None + + def db_for_write(self, model, **hints): + """ + Attempts to write GeoffreyApp models go to GeoffreyApp database. + """ + if model._meta.app_label == 'GeoffreyApp': + return 'GeoffreyApp' + return None + + def allow_relation(self, obj1, obj2, **hints): + """ + Allow relations if a model in the GeoffreyApp is involved. + """ + if obj1._meta.app_label == 'GeoffreyApp' or \ + obj2._meta.app_label == 'GeoffreyApp': + return True + return None + + def allow_migrate(self, db, app_label, model_name=None, **hints): + """ + Make sure the GeoffreyApp only appears in the 'GeoffreyApp' + database. + """ + if app_label == 'GeoffreyApp': + return db == 'GeoffreyApp' + return None