diff options
Diffstat (limited to 'tests/get_object_or_404')
| -rw-r--r-- | tests/get_object_or_404/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/get_object_or_404/tests.py b/tests/get_object_or_404/tests.py index 71815d34ef..87bfa6d3ea 100644 --- a/tests/get_object_or_404/tests.py +++ b/tests/get_object_or_404/tests.py @@ -1,3 +1,4 @@ +from django.db.models import Q from django.http import Http404 from django.shortcuts import get_list_or_404, get_object_or_404 from django.test import TestCase @@ -75,6 +76,23 @@ class GetObjectOr404Tests(TestCase): get_list_or_404(Article.objects.all(), title__icontains="Run"), [article] ) + # Q objects. + self.assertEqual( + get_object_or_404( + Article, + Q(title__startswith='Run') | Q(title__startswith='Walk'), + authors__name__contains='Brave', + ), + article, + ) + self.assertEqual( + get_list_or_404( + Article, + Q(title__startswith='Run') | Q(title__startswith='Walk'), + authors__name='Patsy', + ), + [article], + ) def test_bad_class(self): # Given an argument klass that is not a Model, Manager, or Queryset |
