【问题标题】:Is there a way to give tables a human readable name in django?有没有办法在 django 中给表格一个人类可读的名称?
【发布时间】:2014-10-07 15:16:29
【问题描述】:

在 django admin 中,我意识到我的表名很丑陋,而且对用户不友好。有没有办法可以添加某种类型的替代名称,而不是真实姓名?

类似 ulgy_table_name -- alt name = 更好看的名字

【问题讨论】:

标签: django django-models django-admin


【解决方案1】:
class User(models.Model):
    field_name = models.CharField(max_length=50, verbose_name = 'Better looking name')

已编辑:如果您想在管理员中更改表名,请尝试以下操作

class MyModel(models.Model):
    pass
    class Meta:
        app_label = 'my_app_name'

注意:

您需要在 INSTALLED_APPS 中有一个与您的 app_label 匹配的应用,否则您的表将不会被创建。

【讨论】:

  • 这不只是为了这个领域吗?我想要那个,但要一个表名
【解决方案2】:

如果您不想更改表名(通过更改模型名),您实际上不必更改。您可以在模型本身或admin.py 中的ModelAdmin 上更改定义它。只需在 Meta 选项中覆盖 verbose_nameverbose_name_plural 即可

class ... (...):
   class Meta:
       verbose_name = 'readable'
       verbose_name_plural = 'readables'

等等

【讨论】:

  • 是否可以在管理页面中显示自定义表名(即=> db_table),而不是使用在models.py中声明的类名。
  • 你必须想办法将verbose_name 设置为db_table 的值
猜你喜欢
  • 2020-12-23
  • 1970-01-01
  • 1970-01-01
  • 2023-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多