在django中为现有数据库表创建模型
数据库中有一个旧表。我想在Django应用程序中创建一个模型。在django中为现有数据库表创建模型,django,django-models,Django,Django Models,数据库中有一个旧表。我想在Django应用程序中创建一个模型。 在创建一个模型并使用migrate命令之后,它创建了一个具有自己名称的新表 您可以通过设置模型的Meta类来指定表名。设置managed=False以防止Django创建表 class ExistingModel(models.Model): ... class Meta: table = 'existing_table' managed = False 在做了这些更改之后,我会删
在创建一个模型并使用migrate命令之后,它创建了一个具有自己名称的新表 您可以通过设置模型的
Meta
类来指定表名。设置managed=False
以防止Django创建表
class ExistingModel(models.Model):
...
class Meta:
table = 'existing_table'
managed = False
在做了这些更改之后,我会删除迁移文件,然后再次运行
makemigrations
。您可以使用inspectdb
从数据库表()生成“草图”模型,但您可能需要自己做一些额外的“脚手架”。如果您只想暂时不管理该表,该怎么办,只进行一次迁移,然后您希望以后再进行管理?我想到的情况是,您有一个预先存在的隐式m2m-through表,然后希望为其添加一个显式模型。您可以将其标记为managed=False、makemigrations、migrate,然后在之后将其标记为managed=True吗?显然,Django确实将隐式直通表更改为显式表。