Django models 如何在django中禁用从一个应用程序模型的迁移

Django models 如何在django中禁用从一个应用程序模型的迁移,django-models,Django Models,我有一个应用程序,它使用2个数据库,1个是默认的,另一个是自定义的。所以我的模型中有两个使用默认数据库,其他的使用自定义数据库。我不想在运行“makemigrations”命令时迁移自定义数据库模型。请帮忙。您可以通过在Django中设置managed=False来有选择地禁用一个或多个Django模型的迁移 Options.managed默认为True,这意味着Django将创建 迁移中的适当数据库表,或作为迁移的一部分,以及 作为刷新管理命令的一部分删除它们。那就是Django 管理数据库表

我有一个应用程序,它使用2个数据库,1个是默认的,另一个是自定义的。所以我的模型中有两个使用默认数据库,其他的使用自定义数据库。我不想在运行“makemigrations”命令时迁移自定义数据库模型。请帮忙。

您可以通过在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