Django models 如何在django中禁用从一个应用程序模型的迁移
我有一个应用程序,它使用2个数据库,1个是默认的,另一个是自定义的。所以我的模型中有两个使用默认数据库,其他的使用自定义数据库。我不想在运行“makemigrations”命令时迁移自定义数据库模型。请帮忙。您可以通过在Django中设置Django models 如何在django中禁用从一个应用程序模型的迁移,django-models,Django Models,我有一个应用程序,它使用2个数据库,1个是默认的,另一个是自定义的。所以我的模型中有两个使用默认数据库,其他的使用自定义数据库。我不想在运行“makemigrations”命令时迁移自定义数据库模型。请帮忙。您可以通过在Django中设置managed=False来有选择地禁用一个或多个Django模型的迁移 Options.managed默认为True,这意味着Django将创建 迁移中的适当数据库表,或作为迁移的一部分,以及 作为刷新管理命令的一部分删除它们。那就是Django 管理数据库表
managed=False来有选择地禁用一个或多个Django模型的迁移
Options.managed默认为True,这意味着Django将创建
迁移中的适当数据库表,或作为迁移的一部分,以及
作为刷新管理命令的一部分删除它们。那就是Django
管理数据库表的生命周期
如果为False,则不会执行任何数据库表创建或删除操作
为该模型执行。如果模型表示
由其他人创建的现有表或数据库视图
方法当managed=False时,这是唯一的区别。所有其他
模型处理的各个方面与正常情况完全相同。
值得一提的是,尽管managed
标志设置为False
,仍将创建模型的迁移,但不会创建sql创建脚本。
可以使用manage.py sqlmigrate appname migration
检查迁移的sql,其目的是什么?
from django.db import models
class LegacyModel(models.Model):
class Meta:
managed = False
class SomeModel(models.Model):
class Meta:
managed = False