Параметр запроса 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.

Вернуться на верх