Skip to content

Instantly share code, notes, and snippets.

@boniattirodrigo
Created August 21, 2015 13:00
Show Gist options
  • Save boniattirodrigo/b4be32c50174131fe38a to your computer and use it in GitHub Desktop.
Save boniattirodrigo/b4be32c50174131fe38a to your computer and use it in GitHub Desktop.
Filters in Django
class ListaProdutos(ListView):
template_name = 'produtos.html'
model = Produto
context_object_name = 'produtos'
def get_queryset(self):
pista = self.request.GET.get('pesquisar_por')
status = self.request.GET.get('status')
if status == 'ativo' : status = 'A'
elif status == 'inativo': status = 'I'
else : status = 'todos'
produtos = Produto.objects.using('my-database').all()
# Se pista igual a vazio ou pista igual a nulo
if (pista == '') | (pista is None):
# Se status for todos. OBS.: produtos = produtos, é feito para executar o select.
produtos = produtos
else:
produtos = produtos.filter(
Q(pk__icontains=pista) |
Q(nome__icontains=pista) |
Q(referencia__icontains=pista) |
Q(grupo__nome__icontains=pista)
)
if status != 'todos':
produtos = produtos.filter(
status=status
)
return produtos[:300]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment