如何在“makemigrations”之后更改表名

时间:2015-10-28 14:05:33

标签: python django database

每当我进行迁移时,Django会自动将我的应用程序名称附加到数据库表。例如,如果我有应用程序myapp并且有一个名为Model1的模型,那么在迁移之后,数据库表名称将为myapp_model1

我不需要app name和表名。如果有人知道如何改变它,请帮助我。

1 个答案:

答案 0 :(得分:1)

我的建议是让Django自动选择表名。将应用程序名称作为前缀意味着您可以在不同的应用程序中使用两个具有相同名称的模型,但它们的数据库表名称不会发生冲突。

如果您确实要更改表名,可以使用db_table选项在数据库中设置表名。

class MyModel(models.Model):
    name = models.CharField(max_length=50)
    ...

    class Meta:
        db_table = 'mymodel'

如果已经创建了数据库表,这可能会很棘手。为避免出现问题,我只为新应用程序设置db_table选项。