Skip to content

Commit

Permalink
[1.6.x] Revert "Fixed #18491 -- deleting a proxy doesn't show warning…
Browse files Browse the repository at this point in the history
… about cascade deletes"

This reverts commit 2b48fcc.

It introduced a regression (#20777) which we can't easily fix in 1.6.
  • Loading branch information
timgraham committed Aug 16, 2013
1 parent 9199346 commit c769c26
Show file tree
Hide file tree
Showing 3 changed files with 1 addition and 48 deletions.
3 changes: 0 additions & 3 deletions django/contrib/admin/util.py
Expand Up @@ -155,9 +155,6 @@ def collect(self, objs, source_attr=None, **kwargs):
if source_attr:
self.add_edge(getattr(obj, source_attr), obj)
else:
if obj._meta.proxy:
# Take concrete model's instance to avoid mismatch in edges
obj = obj._meta.concrete_model(pk=obj.pk)
self.add_edge(None, obj)
try:
return super(NestedObjects, self).collect(objs, source_attr=source_attr, **kwargs)
Expand Down
24 changes: 0 additions & 24 deletions tests/proxy_models/fixtures/myhorses.json

This file was deleted.

22 changes: 1 addition & 21 deletions tests/proxy_models/tests.py
Expand Up @@ -2,7 +2,6 @@
import copy

from django.conf import settings
from django.contrib import admin
from django.contrib.contenttypes.models import ContentType
from django.core import management
from django.core.exceptions import FieldError
Expand All @@ -15,7 +14,7 @@
from .models import (MyPerson, Person, StatusPerson, LowerStatusPerson,
MyPersonProxy, Abstract, OtherPerson, User, UserProxy, UserProxyProxy,
Country, State, StateProxy, TrackerUser, BaseUser, Bug, ProxyTrackerUser,
Improvement, ProxyProxyBug, ProxyBug, ProxyImprovement, Issue)
Improvement, ProxyProxyBug, ProxyBug, ProxyImprovement)


class ProxyModelTests(TestCase):
Expand Down Expand Up @@ -361,22 +360,3 @@ def test_proxy_load_from_fixture(self):
management.call_command('loaddata', 'mypeople.json', verbosity=0)
p = MyPerson.objects.get(pk=100)
self.assertEqual(p.name, 'Elvis Presley')


class ProxyModelAdminTests(TestCase):
fixtures = ['myhorses']

def test_cascade_delete_proxy_model_admin_warning(self):
"""
Test if admin gives warning about cascade deleting models referenced
to concrete model by deleting proxy object.
"""
tracker_user = TrackerUser.objects.all()[0]
base_user = BaseUser.objects.all()[0]
issue = Issue.objects.all()[0]
with self.assertNumQueries(7):
collector = admin.util.NestedObjects('default')
collector.collect(ProxyTrackerUser.objects.all())
self.assertTrue(tracker_user in collector.edges.get(None, ()))
self.assertTrue(base_user in collector.edges.get(None, ()))
self.assertTrue(issue in collector.edges.get(tracker_user, ()))

0 comments on commit c769c26

Please sign in to comment.