Olá Diego, 2010/4/28 Diego Rubert <dprub...@prms.mpf.gov.br>
> > Olá pessoal! > > Estou escrevendo um produto, com um tipo chamado "Portaria". E algo > assustador acontece quando eu redefino o campo description (também acontece > com o title) > > Adicionei alguns itens "Portaria" (cada um com uma descrição diferente), e > quando fui olhar no site, a descrição estava igual à da pasta pai... E mais > estranho ainda: usando o pdb, percebi que diferentes métodos retornam > diferentes descrições: > > > (Pdb) portaria_item.description > 'minha descrição do item portaria' > Aqui você tá usando o attributo description direto, isso não é recomendado. > > (Pdb) portaria_item.Description() > 'descricao da pasta pai' > Aqui você está usando o accessor do campo description original. > > (Pdb) portaria_item.getDescription() > 'minha descrição do item portaria' > Aqui você está usando o accessor do campo description que você criou. > > Alguma idéia? Um pouco do código abaixo: > > > content/portaria.py > > > . > . > . > PortariaSchema = schemata.ATContentTypeSchema.copy() + atapi.Schema(( > > atapi.TextField( > 'description', > storage=atapi.AnnotationStorage(), > widget=atapi.TextAreaWidget( > label=_(u"Descri\xe7\xe3o"), > description=_(u"Resumo da portaria"), > ), > required=True, > ), > Aqui quando você faz: schemata.ATContentTypeSchema.copy() Você já copiou o campo description padrão dos tipos de conteúdos do Archetype. Depois você colocou mais um novo campo description no seu schema. Ficando com 2 campos description no mesmo schema. O accessor do Description do Archetype é o "Description()", já o que você criou, por você não ter indicado o accessor, ele usou o padrão getDescription. A grande questão é: Porque você quer adicionar um campo description ? Só para mudar o descrição do widget para "Resumo da portaria" ? Você pode mudar isso assim: PortariaSchema['description'].widget.description=_(u'Resumo da portaria') > . > )) > > PortariaSchema['description'].storage = atapi.AnnotationStorage() > Espero ter ajudado. Até mais, -- Luciano Pacheco blog.lucmult.com.br