我想删除模型的类声明,但希望将记录和表保留在数据库中。我该怎么办?
答案 0 :(得分:4)
通过将Meta
类属性managed
设置为False
(默认为True
)来停止Django管理模型,如下所示:
class SomeModel(models.Model):
....
class Meta:
managed = False
然后运行python manage.py makemigrations
,它将创建一个迁移,告诉您类似的信息
- Change Meta options on something
通过python manage.py migrate
运行该迁移,这将阻止Django管理该模型,然后将其从代码库中删除。迁移将如下所示:
class Migration(migrations.Migration):
dependencies = [
('blah', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='something',
options={'managed': False},
),
]
答案 1 :(得分:-1)
如果该类不会在任何地方使用,但您想保留数据:
如果您在代码中删除模型,我认为总是执行manage makemigrations
它将创建迁移以删除表。