1
0
mirror of https://github.com/django/django.git synced 2025-10-31 09:41:08 +00:00

[1.9.x] Fixed #25723 -- Made related field checks lookup against their local apps.

Backport of c550beb0cc from master
This commit is contained in:
Simon Charette
2015-11-09 16:50:40 -05:00
parent 84006fda55
commit c049c43e28
2 changed files with 71 additions and 3 deletions

View File

@@ -149,7 +149,7 @@ class RelatedField(Field):
return []
def _check_relation_model_exists(self):
rel_is_missing = self.remote_field.model not in apps.get_models()
rel_is_missing = self.remote_field.model not in self.opts.apps.get_models()
rel_is_string = isinstance(self.remote_field.model, six.string_types)
model_name = self.remote_field.model if rel_is_string else self.remote_field.model._meta.object_name
if rel_is_missing and (rel_is_string or not self.remote_field.model._meta.swapped):
@@ -165,7 +165,7 @@ class RelatedField(Field):
return []
def _check_referencing_to_swapped_model(self):
if (self.remote_field.model not in apps.get_models() and
if (self.remote_field.model not in self.opts.apps.get_models() and
not isinstance(self.remote_field.model, six.string_types) and
self.remote_field.model._meta.swapped):
model = "%s.%s" % (
@@ -1206,7 +1206,7 @@ class ManyToManyField(RelatedField):
errors = []
if self.remote_field.through not in apps.get_models(include_auto_created=True):
if self.remote_field.through not in self.opts.apps.get_models(include_auto_created=True):
# The relationship model is not installed.
errors.append(
checks.Error(