Commit 96317ad8 authored by Tim Graham's avatar Tim Graham
Browse files

Refs #21414 -- Removed Field.related per deprecation timeline.

parent f1761e3f
Loading
Loading
Loading
Loading
+1 −10
Original line number Diff line number Diff line
@@ -12,9 +12,7 @@ from django.db.models.deletion import CASCADE, SET_DEFAULT, SET_NULL
from django.db.models.query_utils import PathInfo
from django.db.models.utils import make_model_tuple
from django.utils import six
from django.utils.deprecation import (
    RemovedInDjango20Warning, RemovedInDjango110Warning,
)
from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.encoding import force_text, smart_text
from django.utils.functional import cached_property, curry
from django.utils.translation import ugettext_lazy as _
@@ -358,13 +356,6 @@ class RelatedField(Field):
            self.verbose_name = self.remote_field.model._meta.verbose_name
        self.remote_field.set_field_name()

    @property
    def related(self):
        warnings.warn(
            "Usage of field.related has been deprecated. Use field.remote_field instead.",
            RemovedInDjango110Warning, 2)
        return self.remote_field

    def do_related_class(self, other, cls):
        self.set_attributes_from_rel()
        self.contribute_to_related_class(other, self.remote_field)
+0 −15
Original line number Diff line number Diff line
from __future__ import unicode_literals

import threading
import warnings
from datetime import datetime, timedelta

from django.core.exceptions import MultipleObjectsReturned, ObjectDoesNotExist
from django.db import DEFAULT_DB_ALIAS, DatabaseError, connections
from django.db.models.fields import Field
from django.db.models.fields.related import ForeignObjectRel
from django.db.models.manager import BaseManager
from django.db.models.query import EmptyQuerySet, QuerySet
from django.test import (
@@ -771,16 +769,3 @@ class ModelRefreshTests(TestCase):
        a = Article.objects.create(pub_date=self._truncate_ms(datetime.now()))
        with self.assertNumQueries(0):
            a.refresh_from_db(fields=[])


class TestRelatedObjectDeprecation(SimpleTestCase):
    def test_field_related_deprecation(self):
        field = SelfRef._meta.get_field('selfref')
        with warnings.catch_warnings(record=True) as warns:
            warnings.simplefilter('always')
            self.assertIsInstance(field.related, ForeignObjectRel)
            self.assertEqual(len(warns), 1)
            self.assertEqual(
                str(warns.pop().message),
                'Usage of field.related has been deprecated. Use field.remote_field instead.'
            )