verbose_name_plural inesperado em um modelo?

votos
3

Eu tenho feito alguns modelos de um aplicativo de futuro, e, após a adição de verbose_name e verbose_name_plural para cada entrada em um modelo de trabalho, para torná-lo 'belo', eu descobri que em tempo de validação, Django não gosta disso, por isso diz:

  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'

Meu modelo começa assim:

# -*- encoding: utf-8 -*-
from django.db import models

class Concursante(models.Model):
    nombre = models.CharField(verbose_name='Nombre', max_length=30)
    apellidos = models.CharField(verbose_name='Apellidos', max_length=50)
    nombre_artistico = models.CharField(verbose_name='Nombre Artístico', verbose_name_plural='Nombres Artísticos', max_length=50)

Por que 'ele' não espera um nome por extenso plural lá? não podem viver juntos com verbose_name?

FYI, este são meus versões de software:

  • Ubuntu 8.04
  • Python 2.5.2
  • Django 1 0 final
  • Django versão do pacote ubuntu 1.0-1ubuntu1
Publicado 24/03/2009 em 13:31
fonte usuário
Em outras línguas...                            


2 respostas

votos
5

Infelizmente, verbose_name_pluralnão é uma opção no campo. É uma opção de meta para o próprio modelo. Um campo não tem nome plural, já que, a menos que seja um relacionamento muitos-para-muitos (caso em que o Django irá usar o plural para o modelo apontado pelo relacionamento), há apenas uma entidade nesse campo.

Aqui está a seção doc: http://docs.djangoproject.com/en/dev/topics/db/models/#id3

Respondeu 24/03/2009 em 13:39
fonte usuário

votos
5

Não há verbose_name_plural. Não faz sentido ter singular e plural para um campo. Eles são mutuamente exclusivas. No Django, eles compartilham o mesmo nome: verbose_name.

Se os dados representarem vários itens (por exemplo, em um relacionamento um-para-muitos) usar uma forma plural em verbose_name. Caso contrário, se seus dados representa um único item, use uma forma singular.

Campos de nome por extenso na documentação do Django fornece alguns exemplos.

Respondeu 24/03/2009 em 13:39
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more