views.py 922 B

123456789101112131415161718192021222324252627282930
  1. from django.contrib.auth.decorators import login_required
  2. from django.db.models import Q
  3. from django.shortcuts import render
  4. from games.models import Game
  5. @login_required
  6. def search(request):
  7. results = []
  8. query = ""
  9. if request.method == "GET":
  10. query = request.GET.get("q")
  11. if not query:
  12. return render(
  13. request,
  14. "search/search.html",
  15. {"query": query, "results": results},
  16. )
  17. results = Game.objects.filter(
  18. Q(name__icontains=query)
  19. | Q(game_system__name__icontains=query)
  20. | Q(publisher__name__icontains=query)
  21. | Q(genre__name__icontains=query)
  22. | Q(publisher__name__icontains=query)
  23. | Q(developer__name__icontains=query)
  24. ).distinct()
  25. return render(
  26. request, "search/search.html", {"query": query, "results": results}
  27. )