Code

Changes between Version 10 and Version 11 of DocPtTutorial2


Ignore:
Timestamp:
10/16/06 20:33:40 (8 years ago)
Author:
marvinware2005@…
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • DocPtTutorial2

    v10 v11  
    254254   :target: http://media.djangoproject.com/img/doc/tutorial/admin04.png 
    255255 
     256Por padrão, Django mostra o método ``str()`` de cada objeto. Porém às vezes seria melhor se nós pudéssemos mostrar campos individuais. Para fazer isso, nós usamos a opção ``list_display``, que é uma tupla dos campos a mostrar, como colunas, na pagina "change list" para tal objeto:: 
     257 
     258    class Poll(models.Model): 
     259        # ... 
     260        class Admin: 
     261            # ... 
     262            list_display = ('question', 'pub_date') 
     263 
     264 
     265Como demonstração, vamos incluir o método ``was_published_today`` criado no Tutorial 1:: 
     266 
     267    list_display = ('question', 'pub_date', 'was_published_today') 
     268 
     269Veja como a página está: 
     270 
     271.. image:: http://media.djangoproject.com/img/doc/tutorial/admin13t.png 
     272   :alt: "Change list" dos objetos "Poll" 
     273   :target: http://media.djangoproject.com/img/doc/tutorial/admin13.png 
     274 
     275Você pode clicar nos títulos das colunas para ordenar por seus valores - exceto no caso da coluna ``was_published_today``, porque ordenar pelos valores de um método não é suportado. Note também que o título da coluna do método ``was_published_today`` é, por padrão, o nome do método (com o underscore substituído por espaço). Mas você pode mudar isso criando um atributo ``short_description`` para o método:: 
     276 
     277    def was_published_today(self): 
     278        return self.pub_date.date() == datetime.date.today() 
     279    was_published_today.short_description = 'Published today?' 
     280 
     281Vamos melhorar ainda mais nossa "change list": Filtros. Adicione a seguinte linha em ``Poll.Admin``:: 
     282 
     283    list_filter = ['pub_date'] 
     284 
     285Isso adiciona um menu de filtro, que deixa as pessoas filtrarem a "change list" pelo campo pub_date: 
     286 
     287.. image:: http://media.djangoproject.com/img/doc/tutorial/admin14t.png 
     288   :alt: Polls change list page, updated 
     289   :target: http://media.djangoproject.com/img/doc/tutorial/admin14.png 
    256290}}}