mirror of
https://github.com/Hopiu/django-cachalot.git
synced 2026-05-20 18:31:51 +00:00
Fixes Django 1.9 compatibility.
This commit is contained in:
parent
224350fedb
commit
885d68b008
1 changed files with 8 additions and 2 deletions
|
|
@ -7,6 +7,7 @@ from hashlib import sha1
|
|||
from time import time
|
||||
from uuid import UUID
|
||||
|
||||
from django import VERSION as django_version
|
||||
from django.db import connections
|
||||
from django.db.models.sql import Query
|
||||
from django.db.models.sql.where import ExtraWhere, SubqueryConstraint
|
||||
|
|
@ -18,6 +19,9 @@ from .signals import post_invalidation
|
|||
from .transaction import AtomicCache
|
||||
|
||||
|
||||
DJANGO_LTE_1_8 = django_version <= (1, 8)
|
||||
|
||||
|
||||
class UncachableQuery(Exception):
|
||||
pass
|
||||
|
||||
|
|
@ -124,8 +128,10 @@ def _get_tables(query, db_alias):
|
|||
|
||||
tables = set(query.table_map)
|
||||
tables.add(query.get_meta().db_table)
|
||||
subquery_constraints = _find_subqueries(query.where.children
|
||||
+ query.having.children)
|
||||
children = query.where.children
|
||||
if DJANGO_LTE_1_8:
|
||||
children += query.having.children
|
||||
subquery_constraints = _find_subqueries(children)
|
||||
for subquery in subquery_constraints:
|
||||
tables.update(_get_tables(subquery, db_alias))
|
||||
if query.extra_select or hasattr(query, 'subquery') \
|
||||
|
|
|
|||
Loading…
Reference in a new issue