【发布时间】:2017-06-18 22:04:12
【问题描述】:
如何在不丢失数据的情况下更改 Django 中的模型类名称?有人知道吗?非常感谢大家提前提供的帮助。
【问题讨论】:
标签: python django django-models
如何在不丢失数据的情况下更改 Django 中的模型类名称?有人知道吗?非常感谢大家提前提供的帮助。
【问题讨论】:
标签: python django django-models
如果您只是在您的 models.py 文件中更改模型名称,“makemigrations”命令通常足够聪明,可以选择它。如果您确认,它将询问您是否更改了模型名称并创建迁移以相应地重命名表。
【讨论】:
通常在大多数情况下,django makemigrations 会自行处理模型的重命名,但如果它不这样做并将其创建为删除和添加新模型,您可能必须在迁移文件中手动添加 migrations.RenameModel。 Django Rename Model
【讨论】:
建议的两个回复没有回答我的情况。
如果你想从:
class OldClassName(models.Model):
class meta:
db_table = 'unchanged_table_name'
到:
class NewClassName(models.Model):
class meta:
db_table = 'unchanged_table_name'
在迁移中没有 django 理解“我可以看到您删除了一个模型并希望我创建一个新模型”
我是这样去的:
如果它是唯一的变化,你甚至不必运行makemigrations,Django 应该什么也看不到。
【讨论】: