Size: a a a

Django [ru] #STAY HOME

2020 August 19

SE

Server Reboot Engine... in Django [ru] #STAY HOME
Простите за глупый вопрос, а что если мне в параметры гет запроса не идёт никакого значения и значит я не хочу учитывать при фильтрации это поле:

name = request.GET.get('name')
q = Foo.objects.filter(name__icontains=name)


И чтобы в q вернулись тупо все объекты вне зависимости от имени
источник

SE

Server Reboot Engine... in Django [ru] #STAY HOME
Наверное можно через цепочки и кучу ифов...
источник

N

N1LEX in Django [ru] #STAY HOME
if name: qs.filter ...
источник

A

Andrey in Django [ru] #STAY HOME
Server Reboot Engineer
Простите за глупый вопрос, а что если мне в параметры гет запроса не идёт никакого значения и значит я не хочу учитывать при фильтрации это поле:

name = request.GET.get('name')
q = Foo.objects.filter(name__icontains=name)


И чтобы в q вернулись тупо все объекты вне зависимости от имени
filter_ = Q()
if name:
   filter = Q(name__icontains)
q = foo.objects.filter(filter_)
источник

A

Andrey in Django [ru] #STAY HOME
N1LEX
if name: qs.filter ...
Или так
источник

tn

tot samiy neizvestni... in Django [ru] #STAY HOME
Server Reboot Engineer
Простите за глупый вопрос, а что если мне в параметры гет запроса не идёт никакого значения и значит я не хочу учитывать при фильтрации это поле:

name = request.GET.get('name')
q = Foo.objects.filter(name__icontains=name)


И чтобы в q вернулись тупо все объекты вне зависимости от имени
Django filters?
источник

A

Andrey in Django [ru] #STAY HOME
qs = Foo.objects.all()
if name:
   qs = qs.filter(name__icontains)
источник

SE

Server Reboot Engine... in Django [ru] #STAY HOME
tot samiy neizvestniy
Django filters?
Не хочу тащить сторонние вещи. Если бы это была монгоДБ, то я мог бы тупо через аггрегации в массив распаковать нужные агрегации
источник

SE

Server Reboot Engine... in Django [ru] #STAY HOME
Andrey
qs = Foo.objects.all()
if name:
   qs = qs.filter(name__icontains)
И потом если будет ещё что-то кроме name, то использовать qs и перезаписывать его?
источник

SE

Server Reboot Engine... in Django [ru] #STAY HOME
Чейнить типа фильтрацию?
источник

A

Andrey in Django [ru] #STAY HOME
Server Reboot Engineer
И потом если будет ещё что-то кроме name, то использовать qs и перезаписывать его?
Я вообще делаю обычно так
Выношу создание фильтра в функцию, которая возвращает Q
источник

A

Andrey in Django [ru] #STAY HOME
а там уже делай что хочешь
источник

A

Andrey in Django [ru] #STAY HOME
Server Reboot Engineer
Чейнить типа фильтрацию?
Ну что-то вроде
источник

A

Andrey in Django [ru] #STAY HOME
f = Q()
if name:
   f = Q(name__icontains=name)
if filed:
   f &= Q(filed__gte=5)
источник

N

N1LEX in Django [ru] #STAY HOME
Фильтры могут быть в цепочке, поэтому есть один кверисет

qs = M.objects.all()

if name:
qs = qs.filter(name)

if field:
   qs = qs.filter..
источник

SE

Server Reboot Engine... in Django [ru] #STAY HOME
Окей, спасибо
источник

A

Andrey in Django [ru] #STAY HOME
N1LEX
Фильтры могут быть в цепочке, поэтому есть один кверисет

qs = M.objects.all()

if name:
qs = qs.filter(name)

if field:
   qs = qs.filter..
можно и так, но в целом с Q лучше
источник

A

Andrey in Django [ru] #STAY HOME
Позволяет отделить логику получения фильтра
источник

КМ

Кирилл Мищенко... in Django [ru] #STAY HOME
Здравствуйте, подскажите пожалуйста как установить celery + redis на проект django pycharm без использования docker, если это возможно
источник

A

Andrey in Django [ru] #STAY HOME
Кирилл Мищенко
Здравствуйте, подскажите пожалуйста как установить celery + redis на проект django pycharm без использования docker, если это возможно
какая ос?
ну и пичарм тут вообще никаким боком)
источник