Skip to content

Instantly share code, notes, and snippets.

@bgarcial
Last active October 2, 2018 16:56
Show Gist options
  • Save bgarcial/a71caab2968851433bfb3ad1131eb603 to your computer and use it in GitHub Desktop.
Save bgarcial/a71caab2968851433bfb3ad1131eb603 to your computer and use it in GitHub Desktop.
Using Mixin and Q objects with get_context_data
class SearchView(UserProfileDataMixin, ListView):
template_name = 'search.html'
model = get_user_model()
def get_context_data(self, **kwargs):
query = self.request.GET.get("q")
qs = None
if query:
qs = User.objects.filter(
Q(username__icontains=query) |
Q(full_name__icontains=query)
)
context = super(SearchView, self).get_context_data(**kwargs)
context["users"] = qs
return context
@bgarcial
Copy link
Author

bgarcial commented Oct 2, 2018

@Gytree, primero muchas gracias por revisar esto, no había visto que me habias escrito en este gist, por lo cual ofrezco disculpas por la tardanza.

Entiendo lo que me dices del contexto el cual ya viene especificado en el método del get_context_data() que indicas arriba.
Mi pregunta ahora es:

Ese método del get_context_data() que indicas arriba es el código genérico que se ejecuta cuando uno heredad de la clase ListView?
En caso afirmativo, es por ello que el query con los objetos Q lo procedes a realizar con el método get_queryset()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment