gpt4 book ai didi

django - 如何(有意)使用 Djangosyncdb 跳过应用程序

转载 作者:行者123 更新时间:2023-12-02 02:20:42 24 4
gpt4 key购买 nike

我有几个 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方法吗? South 是否在曝光应用程序上运行syncbd,因为我没有针对它的迁移?

最佳答案

您可以在模型的 Meta 类中使用 management = False。这样,syncdb 将不会创建应用程序的表。更多信息请参见documentation .

关于django - 如何(有意)使用 Djangosyncdb 跳过应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14605873/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com