MCPcopy
hub / github.com/django/django / RawQuerySet

Class RawQuerySet

django/db/models/query.py:2362–2519  ·  view source on GitHub ↗

Provide an iterator which converts the results of raw SQL queries into annotated model instances.

Source from the content-addressed store, hash-verified

2360
2361
2362class RawQuerySet:
2363 """
2364 Provide an iterator which converts the results of raw SQL queries into
2365 annotated model instances.
2366 """
2367
2368 def __init__(
2369 self,
2370 raw_query,
2371 model=None,
2372 query=None,
2373 params=(),
2374 translations=None,
2375 using=None,
2376 hints=None,
2377 fetch_mode=DEFAULT_FETCH_MODE,
2378 ):
2379 self.raw_query = raw_query
2380 self.model = model
2381 self._db = using
2382 self._hints = hints or {}
2383 self.query = query or sql.RawQuery(sql=raw_query, using=self.db, params=params)
2384 self.params = params
2385 self.translations = translations or {}
2386 self._result_cache = None
2387 self._prefetch_related_lookups = ()
2388 self._prefetch_done = False
2389 self._fetch_mode = fetch_mode
2390
2391 def resolve_model_init_order(self):
2392 """Resolve the init field names and value positions."""
2393 converter = connections[self.db].introspection.identifier_converter
2394 model_init_fields = [
2395 field
2396 for column_name, field in self.model_fields.items()
2397 if column_name in self.columns
2398 ]
2399 annotation_fields = [
2400 (column, pos)
2401 for pos, column in enumerate(self.columns)
2402 if column not in self.model_fields
2403 ]
2404 model_init_order = [
2405 self.columns.index(converter(f.column)) for f in model_init_fields
2406 ]
2407 model_init_names = [f.attname for f in model_init_fields]
2408 return model_init_names, model_init_order, annotation_fields
2409
2410 def prefetch_related(self, *lookups):
2411 """Same as QuerySet.prefetch_related()"""
2412 clone = self._clone()
2413 if lookups == (None,):
2414 clone._prefetch_related_lookups = ()
2415 else:
2416 clone._prefetch_related_lookups = clone._prefetch_related_lookups + lookups
2417 return clone
2418
2419 def _prefetch_related_objects(self):

Callers 3

test_rawqueryset_reprMethod · 0.90
rawMethod · 0.85
usingMethod · 0.85

Calls

no outgoing calls

Tested by 1

test_rawqueryset_reprMethod · 0.72