summaryrefslogtreecommitdiff
path: root/tests/get_object_or_404
diff options
context:
space:
mode:
Diffstat (limited to 'tests/get_object_or_404')
-rw-r--r--tests/get_object_or_404/tests.py18
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