O método filter me devolve todos os objetos que possuem as características que eu passei como parâmetro, certo? Então ele deve devolver uma lista? Como imprimir essa lista?
O método filter me devolve todos os objetos que possuem as características que eu passei como parâmetro, certo? Então ele deve devolver uma lista? Como imprimir essa lista?
Normalmente como em Python. Ex:
perfis = Perfil.objects.filter(nome__contains='a')
for perfil in perfis:
print perfil.nome
Não deu certo.
>>> from perfis.models import Perfil
>>> f = Perfil(nome='Pedro', email='pedro@bib.com.br', telefone='n/a', nome_empresa='GR SA')
>>> g = Perfil(nome='Tiago', email='tiago@bib.com.br', telefone='n/a', nome_empresa='GR SA')
>>> h = Perfil(nome='Joao', email='joao@bib.com.br', telefone='n/a', nome_empresa='GR SA')
>>> i = Perfil(nome='Lucas', email='lucas@pip.com.br', telefone='n/a', nome_empresa='AF SA')
>>> perfis = Perfil.objects.filter(email__icontains='bib')
>>> for perfil in perfis:
... print perfis.nome
...
>>>
>>>
Oi Geovane, duas observações no contains tu colocou um i
perfis = Perfil.objects.filter(email__contains='bib')
e no for tu precisa pedir o nome de cada perfil que tu ta passando então fica
print perfil.nome
Desculpe, Vânia, mas não.
O "i" que coloquei é para considerar maiúscula ou minúscula. E "perfil' do meu for é apenas o iterador, ele não contém nada. A variável que recebe recebe alguma coisa é "perfis", portanto, acredito que está correto. Não?
Certo, Geovane não conhecia o i. Ele explica no exercício. N parte do for o que acontece é o seguinte perfis é sua lista com todos os perfis que contem bib no email.
for perfil in perfis:
... print perfil.nome
então no for pra cada perfil que existe na minha lista de perfis eu quero o nome do perfil. esse perfil é a referencia da tua lista. testa aí: aqui deu certo
>>> from perfis.models import Perfil
>>> perfis = Perfil.objects.filter(email__icontains='com')
>>> for perfil in perfis:
... print perfil.nome
...
Oswaldo
Steve
Flávio Almeida
Romulo Henrique
Certíssima! Obrigado.