2013-07-15 2 views
1

Мне интересно, есть ли способ персонализированного (так что нестандартный метод) инвертировать результаты __contain в URL-адрес URL-адреса администратора Django.Django содержит None (or reverseed contains)

Два пути я хотел бы проверить

  • значение равно None
  • значение не равно запроса-значение

Что-то вроде этого:

http://localhost:8000/admin/item/?icon__not_contains=SomeFolderInMyPath http://localhost:8000/admin/item/?icon__contains=None

Я мог бы создать собственный метод, поэтому для этого не нужны примеры. Просто пытаюсь изучить возможности основных функций Django.

ответ

2

Вот обратная __contains:

from django.db.models import Q 

qs = MyModel.objects.filter(~Q(icon__contains='any string')) 

Если вы хотите проверить, если значение None вы можете использовать isnull например Не включайте те объекты, для которых значок отсутствует:

qs = MyModel.objects.filter(icon__isnull=True) 
+0

Спасибо, но я уже знаю этот метод :). Мне просто интересно, есть ли какой-нибудь родной вызов Django. Возможно, я мог бы настроить «Core», добавив URI-функцию '__not_contains', чтобы всегда выполнять этот метод. Спасибо в любом случае :) –

+0

'isnull' Я не знал, спасибо. Этого хватит :) –

Смежные вопросы