加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何(有意)跳过使用Django syncdb的应用程序

发布时间:2020-12-20 11:25:17 所属栏目:Python 来源:网络整理
导读:我有几个 django应用程序: INSTALLED_APPS = ( 'geonode.exposure','geonode.isc_viewer','geonode.geodetic','geonode.observations','geonode.ged4gem', 我需要管理所有这些,除了一个syncdb. 如何让syncdb有意跳过geonode.exposure应用程序? 更新: 我没
我有几个 django应用程序:

INSTALLED_APPS = (
    'geonode.exposure','geonode.isc_viewer','geonode.geodetic','geonode.observations','geonode.ged4gem',

我需要管理所有这些,除了一个syncdb.
如何让syncdb有意跳过geonode.exposure应用程序?

更新:
我没有描述完整配置,请允许我详细介绍:
我正在使用南来管理除暴露之外的所有应用程序的数据库迁移和固定装置.
曝光应用程序正在访问外部数据库并正在使用路由器这样做(这就是我希望它被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因为我没有迁移它?

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读