Changes between Version 14 and Version 15 of DocPtTutorial2
- Timestamp:
- Oct 17, 2006, 11:10:45 AM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
DocPtTutorial2
v14 v15 207 207 :alt: A pagina de administração de objetos Choice 208 208 209 Nesse formulário o campo "Poll" é um a "``select box``" contendo todos os "Polls" do banco de dados. Django sabe que``ForeignKey`` devem ser representados como uma "``<select>`` box". No nosso caso, apenas um "Poll" está disponível atualmente.209 Nesse formulário o campo "Poll" é um "``select box``" contendo todos os "Polls" do banco de dados. Django sabe que campos ``ForeignKey`` devem ser representados como uma "``<select>`` box". No nosso caso, apenas um "Poll" está disponível atualmente. 210 210 211 211 Note também, o link "Add another" próximo ao campo "Poll". Todo objeto com um relacionamento ForeignKey tem esse recurso automaticamente. Quando você clica em "Add another", você verá uma janela popup com o formulário "Add poll". Se você adiciona um "Poll" nessa janela e clica em "Save", Django vai salvar o "Poll" no banco de dados e dinamicamente adiciona-lo como uma opção selecionada no formulário "Add choice" que você estava. … … 213 213 Mas, realmente, essa é uma forma ineficiente de adicionar objetos "Choice" no sistema. Seria melhor se você pudesse adicionar vários "Choice" diretamente quando você adiciona um objeto "Poll". Vamos fazer isso acontecer. 214 214 215 Remova a classe interna ``Admin`` do model Choice. Agora, edite o ``ForeignKey(Poll)`` campo dessa forma: 215 Remova a classe interna ``Admin`` do model Choice. Agora, edite o ``ForeignKey(Poll)`` campo dessa forma:: 216 216 217 217 poll = models.ForeignKey(Poll, edit_inline=models.STACKED, num_in_admin=3) … … 283 283 list_filter = ['pub_date'] 284 284 285 Isso adiciona um menu de filtro, que deixa as pessoas filtrarem a "change list" pelo campo pub_date:285 Isso adiciona um menu de filtro, que deixa as pessoas filtrarem a "change list" pelo campo ``pub_date``: 286 286 287 287 .. image:: http://media.djangoproject.com/img/doc/tutorial/admin14t.png … … 289 289 :target: http://media.djangoproject.com/img/doc/tutorial/admin14.png 290 290 291 O tipo de filtro mostrado depende do tipo do campo que você está filtra do. Como ``pub_date`` é um DateTimeField, Django sabe que as opções de filtro padrão são: "Any date," "Today," "Past 7 days," "This month," "This year."291 O tipo de filtro mostrado depende do tipo do campo que você está filtrando. Como ``pub_date`` é um DateTimeField, Django sabe que as opções de filtro padrão são: "Any date," "Today," "Past 7 days," "This month," "This year." 292 292 293 293 Isso está tomando forma. Vamos adicionar alguma funcionalidade de busca:: … … 297 297 Isso adiciona uma caixa de busca em cima da "change list". Quando alguém digita os parâmetros de busca, Django ira buscar pelo campo ``question``. Você pode usar quantos campos você quiser - como esse recurso usa um SQL com LIKE por trás dos panos, não exagere, para deixar seu banco de dados feliz. 298 298 299 Finalmente, como objetos "Poll" tem uma data, seria conveniente ser possível realizar uma quebra (drill down) por data. Adicione essa linha:299 Finalmente, como objetos "Poll" tem uma data, seria conveniente ser possível realizar uma quebra (drill down) por data. Adicione essa linha:: 300 300 301 301 date_hierarchy = 'pub_date'