在 django admin 中更改模型的表名

Change the table name of the Model in django admin

提问人:ali.m.n.2003 提问时间:11/16/2023 最后编辑:ali.m.n.2003 更新时间:11/20/2023 访问量:44

问:

我想在 django 管理面板中更改我的 django 管理表名称

我想更改该表顶部的产品名称, 例如,我想更改下图中的 PRODUCTS 和 ACCOUNTS 名称: Django 管理面板侧边菜单

在上图中,我有两个模型。 首先是محصولات

第二个是نظرات

我的应用程序名称是 Products,即表名称中所示。但我想改变这个名字。 如果可能的话,我想更改其他表名,即“ACCOUNTS”。 正如你所看到的,我确实更改了我的模型verbose_name和verbose_plural_name,但我无法更改表名。

python django django-models django-admin 后端

评论

0赞 Muhammad Hammad 11/16/2023
您的要求不太清楚,可以解释一下吗?谢谢

答:

0赞 Hetvi 11/17/2023 #1

JFYI:在下图中,您可以看到突出显示的白色框是 Django 的应用程序名称,突出显示的红色框是该应用程序的型号名称。

在管理面板中更改型号名称标签

根据我的要求,您已经更改了模型的标签,以防更多澄清,您可以通过在模型的 Meta 类中添加verbose_name来做到这一点

 class Meta:
    verbose_name = "حساب"
    verbose_name_plural = "custom model plural name"

在管理面板中更改应用名称标签

在应用的“apps.py”中添加verbose_name

class YourAppConfig(AppConfig):
   name = 'your_default_app_label'
   verbose_name = "Custom App label for Admin panel"
  • 通过进行上述更改,您可以看到管理面板中的应用程序标签(在图像中以白框突出显示)已更改

enter image description here

0赞 Md Shahbaz Ahmad 11/20/2023 #2

您可以更改模型元选项“db_table”以更改数据库表名称并运行迁移

假设您有表名称为“product”的产品模型。现在,您要将表名重命名为“new_product”。然后,您可以在模型元选项中指定 db_table = 'new_product' 并运行 migrations 命令。

确保 managed = True,默认情况下为 True。

class Product(models.Model):
    ...
    class Meta:
        managed = True
        db_table = 'new_product'