【发布时间】:2021-06-04 23:35:11
【问题描述】:
【问题讨论】:
标签: django django-models django-admin
【问题讨论】:
标签: django django-models django-admin
为您的模型添加一个元类并设置verbose_name_plural (https://docs.djangoproject.com/en/3.2/ref/models/options/#verbose-name-plural)。理想情况下,将您的类命名为单数(在这种情况下,您将拥有 class Comment(models.Model)。
class Comments(models.Model):
class Meta:
verbose_name_plural = 'Comments'
【讨论】:
在 Django 中有一个命名约定,模型以单数命名。所以你的类应该命名为:
class Comment(models.Model):
...
class Note(models.Model):
...
这种类的一个实例代表一个注释,而不是一组 cmets。同样考虑以下
# doesn't really make sense
Comments.objects.get(...)
# reads much better
Comment.objects.get(...) #e.g. get from the comment objects
这是 Django 管理员希望你的类以单数命名的约定。出于这个原因,Django 添加一个“s”作为复数类名的标准方式。 (诚然,这不适用于所有单词,并且非常以英语为中心,但作为替代,Django 提供了verbose_name_plural 元属性)。
重命名你的类,使它们是单数的。这将使您的代码对任何习惯阅读 django 的人来说更具可读性。它还将使您的模型以与其他第三方包一致的方式命名。如果你的类名不是英文的,或者不是简单地通过附加一个 s 来复数,请使用verbose_name_plural 例如:
Class Cactus(models.Model):
class Meta:
verbose_name_plural = 'Cacti'
【讨论】: