|
8 | 8 | from django.db.models.expressions import Case, Col, When |
9 | 9 | from django.db.models.functions import Mod |
10 | 10 | from django.db.models.lookups import Exact |
11 | | -from django.db.models.query import BaseIterable |
| 11 | +from django.db.models.query import BaseIterable, RawQuerySet |
12 | 12 | from django.db.models.sql.constants import INNER, GET_ITERATOR_CHUNK_SIZE |
13 | 13 | from django.db.models.sql.datastructures import Join |
14 | 14 | from django.db.models.sql.where import AND, OR, XOR, ExtraWhere, NothingNode, WhereNode |
15 | | -from django.db.models.sql import Query |
| 15 | +from django.db.models.sql import Query, RawQuery |
16 | 16 | from django.utils.functional import cached_property |
17 | 17 | from pymongo.errors import BulkWriteError, DuplicateKeyError, PyMongoError |
18 | 18 |
|
@@ -311,11 +311,16 @@ def register_nodes(): |
311 | 311 |
|
312 | 312 | class MongoQuerySet(QuerySet): |
313 | 313 | def raw_mql(self, raw_query, params=(), translations=None, using=None): |
314 | | - return QuerySet(self.model, RawQuery(self.model, raw_query)) |
315 | | - |
316 | | - |
317 | | -class RawQuery(Query): |
318 | | - |
319 | | - def __init__(self, model, raw_query): |
320 | | - super(RawQuery, self).__init__(model) |
321 | | - self.raw_query = raw_query |
| 314 | + return MongoRawQuerySet( |
| 315 | + raw_query, |
| 316 | + model=self.model, |
| 317 | + params=params, |
| 318 | + translations=translations, |
| 319 | + using=using, |
| 320 | + ) |
| 321 | + |
| 322 | +class MongoRawQuery(RawQuery): |
| 323 | + pass |
| 324 | + |
| 325 | +class MongoRawQuerySet(RawQuerySet): |
| 326 | + pass |
0 commit comments