views.py 875 B

1234567891011121314151617181920212223242526
  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, "search/search.html", {"query": query, "results": results}
  14. )
  15. results = Game.objects.filter(
  16. Q(name__icontains=query)
  17. | Q(game_system__name__icontains=query)
  18. | Q(publisher__name__icontains=query)
  19. | Q(genre__name__icontains=query)
  20. | Q(publisher__name__icontains=query)
  21. | Q(developer__name__icontains=query)
  22. ).distinct()
  23. return render(request, "search/search.html", {"query": query, "results": results})