Django 管理员在末尾显示带有额外 "s" 的模型名称
Django admin shows models name with extra "s" at the end
我是 Django 的新手。在管理面板中,模型的名称末尾有一个额外的“s”。我该如何解决?
向您的模型添加元 class 并设置 verbose_name_plural
(https://docs.djangoproject.com/en/3.2/ref/models/options/#verbose-name-plural)。理想情况下将您的 classes 命名为单数(在这种情况下,您将 class Comment(models.Model)
.
class Comments(models.Model):
class Meta:
verbose_name_plural = 'Comments'
为什么 django-admin 添加 's'
Django 中有一个命名约定,模型以单数形式命名。所以你的 classes 应该命名为:
class Comment(models.Model):
...
class Note(models.Model):
...
此类 class 的实例表示单个评论,而不是一组评论。同样考虑以下
# doesn't really make sense
Comments.objects.get(...)
# reads much better
Comment.objects.get(...) #e.g. get from the comment objects
这是 Django 管理员希望您的 classes 以单数形式命名的约定。出于这个原因,Django 添加了一个 's' 作为复数化 class 名称的标准方式。 (不可否认,这不适用于所有单词,并且非常以英语为中心,但作为替代,Django 提供了 verbose_name_plural
元属性)。
如何修复:
重命名您的 classes,使它们成为单数形式。这将使您的代码对于习惯阅读 django 的任何人都更具可读性。它还将使您的模型以与其他第三方包一致的方式命名。如果您的 class 名称不是英文的,或者不只是通过附加 s 来复数,请使用 verbose_name_plural
例如:
Class Cactus(models.Model):
class Meta:
verbose_name_plural = 'Cacti'
我是 Django 的新手。在管理面板中,模型的名称末尾有一个额外的“s”。我该如何解决?
向您的模型添加元 class 并设置 verbose_name_plural
(https://docs.djangoproject.com/en/3.2/ref/models/options/#verbose-name-plural)。理想情况下将您的 classes 命名为单数(在这种情况下,您将 class Comment(models.Model)
.
class Comments(models.Model):
class Meta:
verbose_name_plural = 'Comments'
为什么 django-admin 添加 's'
Django 中有一个命名约定,模型以单数形式命名。所以你的 classes 应该命名为:
class Comment(models.Model):
...
class Note(models.Model):
...
此类 class 的实例表示单个评论,而不是一组评论。同样考虑以下
# doesn't really make sense
Comments.objects.get(...)
# reads much better
Comment.objects.get(...) #e.g. get from the comment objects
这是 Django 管理员希望您的 classes 以单数形式命名的约定。出于这个原因,Django 添加了一个 's' 作为复数化 class 名称的标准方式。 (不可否认,这不适用于所有单词,并且非常以英语为中心,但作为替代,Django 提供了 verbose_name_plural
元属性)。
如何修复:
重命名您的 classes,使它们成为单数形式。这将使您的代码对于习惯阅读 django 的任何人都更具可读性。它还将使您的模型以与其他第三方包一致的方式命名。如果您的 class 名称不是英文的,或者不只是通过附加 s 来复数,请使用 verbose_name_plural
例如:
Class Cactus(models.Model):
class Meta:
verbose_name_plural = 'Cacti'