Added a basic db router to prevent conflicts with other django apps

+ Also included missed migration file
doc_update
Joey Hines 2019-08-21 07:53:39 -05:00
parent 6035d5ce8f
commit 3483f2a6c6
2 changed files with 60 additions and 0 deletions

View File

@ -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),
),
]

View File

@ -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