blob: bac2a3031d651953192b7cd2d89eef2048662524 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# Copyright 1998-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
class TBCRouter(object):
def db_for_read(self, model, **hints):
"Point all operations on tbc models to 'tbc'"
if model._meta.app_label == 'tbc_www':
return 'tbc'
return 'default'
def db_for_write(self, model, **hints):
"Point all operations on tbc models to 'tbc'"
if model._meta.app_label == 'tbc_www':
return 'tbc'
return 'default'
def allow_relation(self, obj1, obj2, **hints):
"Allow any relation if a both models in tbc app"
if obj1._meta.app_label == 'tbc_www' and obj2._meta.app_label == 'tbc_www':
return True
# Allow if neither is tbc app
elif 'tbc_www' not in [obj1._meta.app_label, obj2._meta.app_label]:
return True
return False
def allow_migrate(self, db, app_label, model_name=None, **hints):
if db == 'tbc' or app_label == "tbc_www":
return False # we're not using syncdb on our legacy database
else: # but all other models/databases are fine
return True
|