20 lines
640 B
Diff
20 lines
640 B
Diff
# django__django-14017
|
|
# Loki Mode Multi-Agent Patch
|
|
# Attempts: 1
|
|
|
|
--- a/django/db/models/query_utils.py
|
|
+++ b/django/db/models/query_utils.py
|
|
@@ -69,8 +69,13 @@ class Q(tree.Node):
|
|
return path, args, kwargs
|
|
|
|
def _combine(self, other, conn):
|
|
- if not isinstance(other, Q):
|
|
+ if getattr(other, 'conditional', False) is False:
|
|
raise TypeError(other)
|
|
+
|
|
+ # If other is a Combinable (like Exists) but not a Q, wrap it in a Q
|
|
+ if not isinstance(other, Q):
|
|
+ other = Q(other)
|
|
|
|
# If the other Q() is empty, ignore it and just use `self`.
|
|
if not other:
|