|
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