diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py
index 841f57394c..e5c770e85b 100644
--- a/django/db/models/fields/__init__.py
+++ b/django/db/models/fields/__init__.py
@@ -24,14 +24,6 @@ prep_for_like_query = lambda x: str(x).replace("%", "\%").replace("_", "\_")
# returns the
class for a given radio_admin value
get_ul_class = lambda x: 'radiolist%s' % ((x == HORIZONTAL) and ' inline' or '')
-def manipulator_valid_rel_key(f, self, field_data, all_data):
- "Validates that the value is a valid foreign key"
- klass = f.rel.to
- try:
- klass._default_manager.get_object(pk=field_data)
- except klass.DoesNotExist:
- raise validators.ValidationError, _("Please enter a valid %s.") % f.verbose_name
-
def manipulator_validator_unique(f, opts, self, field_data, all_data):
"Validates that the value is unique for this field."
lookup_type = f.get_validator_unique_lookup_type()
diff --git a/django/db/models/fields/related.py b/django/db/models/fields/related.py
index e9ccbaa9ba..00cd2682d6 100644
--- a/django/db/models/fields/related.py
+++ b/django/db/models/fields/related.py
@@ -3,7 +3,7 @@ from django.db.models.fields import AutoField, Field, IntegerField
from django.db.models.related import RelatedObject
from django.utils.translation import gettext_lazy, string_concat
from django.utils.functional import curry
-from django.core import formfields
+from django.core import formfields, validators
from django.dispatch import dispatcher
# Values for Relation.edit_inline.
@@ -28,6 +28,14 @@ def do_pending_lookups(sender):
dispatcher.connect(do_pending_lookups, signal=signals.class_prepared)
+def manipulator_valid_rel_key(f, self, field_data, all_data):
+ "Validates that the value is a valid foreign key"
+ klass = f.rel.to
+ try:
+ klass._default_manager.get_object(pk=field_data)
+ except klass.DoesNotExist:
+ raise validators.ValidationError, _("Please enter a valid %s.") % f.verbose_name
+
#HACK
class RelatedField(object):
def contribute_to_class(self, cls, name):