diff options
| author | chenesan <pipio1994@gmail.com> | 2016-02-24 15:10:09 +0800 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2016-02-27 08:48:32 -0500 |
| commit | b84f5ab4ec2d1edbe9a7effa9f75a3caa189bace (patch) | |
| tree | 6e9d4ef21e0e33ea0100b18a5dc0c890391da8e5 /django/db/models/sql | |
| parent | 5fb9756eba01237cc0e550da689b9b79c51c96ed (diff) | |
Fixed #26230 -- Made default_related_name affect related_query_name.
Diffstat (limited to 'django/db/models/sql')
| -rw-r--r-- | django/db/models/sql/query.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/django/db/models/sql/query.py b/django/db/models/sql/query.py index fb3529c2be..2f98ab895a 100644 --- a/django/db/models/sql/query.py +++ b/django/db/models/sql/query.py @@ -7,6 +7,7 @@ databases). The abstraction barrier only works one way: this module has to know all about the internals of models in order to get the information it needs. """ import copy +import warnings from collections import Counter, Iterator, Mapping, OrderedDict from itertools import chain, count, product from string import ascii_uppercase @@ -30,6 +31,7 @@ from django.db.models.sql.where import ( AND, OR, ExtraWhere, NothingNode, WhereNode, ) from django.utils import six +from django.utils.deprecation import RemovedInDjango20Warning from django.utils.encoding import force_text from django.utils.tree import Node @@ -1288,6 +1290,19 @@ class Query(object): except FieldDoesNotExist: if name in self.annotation_select: field = self.annotation_select[name].output_field + elif pos == 0: + for rel in opts.related_objects: + if (name == rel.related_model._meta.model_name and + rel.related_name == rel.related_model._meta.default_related_name): + related_name = rel.related_name + field = opts.get_field(related_name) + warnings.warn( + "Query lookup '%s' is deprecated in favor of " + "Meta.default_related_name '%s'." + % (name, related_name), + RemovedInDjango20Warning, 2 + ) + break if field is not None: # Fields that contain one-to-many relations with a generic |
