diff options
Diffstat (limited to 'django/db')
| -rw-r--r-- | django/db/models/fields/related.py | 2 | ||||
| -rw-r--r-- | django/db/models/options.py | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py index 6e18f6d470..1318706040 100644 --- a/django/db/models/fields/related.py +++ b/django/db/models/fields/related.py @@ -901,6 +901,8 @@ class ForeignKey(RelatedField, Field): # don't get a related descriptor. if not self.rel.is_hidden(): setattr(cls, related.get_accessor_name(), ForeignRelatedObjectsDescriptor(related)) + if self.rel.limit_choices_to: + cls._meta.related_fkey_lookups.append(self.rel.limit_choices_to) if self.rel.field_name is None: self.rel.field_name = cls._meta.pk.name diff --git a/django/db/models/options.py b/django/db/models/options.py index 882d2f5709..2f64c56b00 100644 --- a/django/db/models/options.py +++ b/django/db/models/options.py @@ -55,6 +55,10 @@ class Options(object): self.abstract_managers = [] self.concrete_managers = [] + # List of all lookups defined in ForeignKey 'limit_choices_to' options + # from *other* models. Needed for some admin checks. Internal use only. + self.related_fkey_lookups = [] + def contribute_to_class(self, cls, name): from django.db import connection from django.db.backends.util import truncate_name |
