冗长的“名字”复数在模型中是意外的?

2024-06-16 12:34:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我做了一些未来应用的模型,在为一个工作模型的每个条目添加verbose_name和verbose_name_复数后,我发现在验证时,Django不喜欢这样,所以它说:

  File "/home/andor/Documentos/desarrollo/grundymanage/../grundymanage/concursantes/models.py", line 4, in <module>
    class Concursante(models.Model):
  File "/home/andor/Documentos/desarrollo/grundymanage/../grundymanage/concursantes/models.py", line 7, in Concursante
    nombre_artistico = models.CharField(verbose_name='Nombre Artístico', verbose_name_plural='Nombres Artísticos', max_length=50)
TypeError: __init__() got an unexpected keyword argument 'verbose_name_plural'

我的模型是这样开始的:

^{pr2}$

为什么“他”不希望有一个复数的冗长的名字?不能用冗长的姓住在一起?在

仅供参考,这是我的软件版本:

  • Ubuntu 8.04版
  • Python 2.5.2
  • Django“1”“0”“最终”
  • Django ubuntu包版本“1.0-1ubuntu1”

Tags: djangonamepy模型homeverbosemodelsline
2条回答

不幸的是,verbose_name_plural不是字段上的选项。这是模型本身的一个元选项。字段没有复数名称,因为除非是多对多关系(在这种情况下,Django将使用复数形式表示关系所指向的模型),否则该字段中只有一个实体。在

这是doc部分:http://docs.djangoproject.com/en/dev/topics/db/models/#id3

没有verbose_name_plural。一个字段同时具有单数和复数是没有意义的。它们相互排斥。在Django中,它们共享相同的名称:verbose_name。在

如果您的数据代表多个项目(例如在一对多关系中),请使用verbose_name中的复数形式。否则,如果数据表示单个项,请使用单数形式。在

Verbose name fields in the Django documentation提供了一些示例。在

相关问题 更多 >