我有几个 django 应用程序:
INSTALLED_APPS = (
'geonode.exposure',
'geonode.isc_viewer',
'geonode.geodetic',
'geonode.observations',
'geonode.ged4gem',
我需要管理所有这些,除了一个syncdb
。我怎样才能syncdb
故意跳过geonode.exposure
申请?
更新: 我没有描述完整的配置,请允许我更详细地介绍:我正在使用 south 来管理除曝光之外的所有应用程序的数据库迁移和固定装置。曝光应用程序正在访问外部数据库并使用路由器来执行此操作(这就是我希望它被 syncdb 跳过的原因)。我的路由器设置如下所示:
class GedRouter(object):
def db_for_read(self, model, **hints):
"Point all operations on ged models to 'geddb'"
if model._meta.app_label == 'exposure':
return 'geddb'
return 'default'
def allow_syncdb(self, db, model):
if db == 'geddb' or model._meta.app_label == "ged":
return False # we're not using syncdb on our legacy database
else: # but all other models/databases are fine
return True
南方不尊重allow_syncdb方法吗?是因为我没有迁移,所以在曝光应用程序上运行 syncbd 吗?