nil*_*far 3 django django-models django-admin
我是姜戈的新手。在管理面板中,模型名称末尾有一个额外的“s”。我该如何解决这个问题?
将元类添加到您的模型并设置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'
Run Code Online (Sandbox Code Playgroud)
Django 有一个命名约定,模型以单数命名。所以你的类应该命名为:
class Comment(models.Model):
...
class Note(models.Model):
...
Run Code Online (Sandbox Code Playgroud)
此类的实例代表单个注释,而不是一组注释。同样考虑以下
# doesn't really make sense
Comments.objects.get(...)
# reads much better
Comment.objects.get(...) #e.g. get from the comment objects
Run Code Online (Sandbox Code Playgroud)
这是一个约定,Django 管理员希望您的类以单数命名。因此,Django 添加一个 's' 作为类名复数的标准方式。(诚然,这并不适用于所有单词,并且非常以英语为中心,但作为替代,Django 提供了verbose_name_plural元属性)。
重命名您的类,使它们成为单数。这将使您的代码对于任何习惯阅读 django 的人来说更具可读性。它还将使您的模型以与其他第三方软件包一致的方式命名。如果您的类名不是英文,或者不能简单地通过附加 s 来实现复数,请使用verbose_name_plural例如:
Class Cactus(models.Model):
class Meta:
verbose_name_plural = 'Cacti'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2928 次 |
| 最近记录: |