mirror of
https://github.com/django/django.git
synced 2025-07-04 17:59:13 +00:00
[boulder-oracle-sprint] added logic to load a custom QuerySet class from the database backend, if defined. Also added a skeletal Oracle QuerySet.
git-svn-id: http://code.djangoproject.com/svn/django/branches/boulder-oracle-sprint@4000 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
3e1197f82e
commit
b93cd82297
@ -0,0 +1,9 @@
|
||||
def get_query_set_class(DefaultQuerySet):
|
||||
"""
|
||||
Create a custom QuerySet class for Oracle.
|
||||
"""
|
||||
|
||||
class OracleQuerySet(DefaultQuerySet):
|
||||
pass
|
||||
|
||||
return OracleQuerySet
|
@ -1,3 +1,4 @@
|
||||
from django import db
|
||||
from django.db import backend, connection, transaction
|
||||
from django.db.models.fields import DateField, FieldDoesNotExist
|
||||
from django.db.models import signals
|
||||
@ -74,7 +75,7 @@ def quote_only_if_word(word):
|
||||
else:
|
||||
return backend.quote_name(word)
|
||||
|
||||
class QuerySet(object):
|
||||
class _QuerySet(object):
|
||||
"Represents a lazy database lookup for a set of objects"
|
||||
def __init__(self, model=None):
|
||||
self.model = model
|
||||
@ -556,6 +557,15 @@ class QuerySet(object):
|
||||
full_query = None
|
||||
|
||||
return select, " ".join(sql), params, full_query
|
||||
|
||||
# Check to see if the DB backend would like to define its own QuerySet class
|
||||
# and otherwise use the default.
|
||||
backend_query_module = db.get_query_module()
|
||||
if hasattr(backend_query_module, "get_query_set_class"):
|
||||
QuerySet = db.get_query_module().get_query_set_class(_QuerySet)
|
||||
else:
|
||||
QuerySet = _QuerySet
|
||||
|
||||
class ValuesQuerySet(QuerySet):
|
||||
def iterator(self):
|
||||
# select_related and select aren't supported in values().
|
||||
|
Loading…
x
Reference in New Issue
Block a user