Параметр запроса Django
Я пытаюсь получить значение в качестве параметра запроса и хочу узнать, как я могу оптимизировать этот код и не использовать "", когда пользователь не хочет ничего вводить.
author = request.GET.get('author','')
name = request.GET.get('name','')
Создайте запрос Q
только со значениями, переданными пользователем:
from django.db.models import Q
author = request.GET.get('author')
name = request.GET.get('name')
condition = Q()
if author is not None:
condition |= Q(author=author) # |= corresponds to an 'or', &= corresponds to an 'and'
if name is not None:
condition |= Q(name=name)
# If the user did not provide a query parameter, the entire queryset is returned
result = Model.objects.filter(condition)
Вы не указали детали вашей модели, поэтому я предположил, что у вас есть модель под названием Model
с полями author
и name
.