1
0
mirror of https://github.com/django/django.git synced 2025-04-17 22:04:38 +00:00

[1.6.x] Revert "Fixed -- deleting a proxy doesn't show warning about cascade deletes"

This reverts commit 2b48fcc607010065c0f8107baf669dd41b164f3c.

It introduced a regression () which we can't easily fix in 1.6.
This commit is contained in:
Tim Graham 2013-08-16 07:57:55 -04:00
parent 919934602f
commit c769c26601
3 changed files with 1 additions and 48 deletions
django/contrib/admin
tests/proxy_models

@ -155,9 +155,6 @@ class NestedObjects(Collector):
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)

@ -1,24 +0,0 @@
[
{
"pk": 100,
"model": "proxy_models.BaseUser",
"fields": {
"name": "Django Pony"
}
},
{
"pk": 100,
"model": "proxy_models.TrackerUser",
"fields": {
"status": "emperor"
}
},
{
"pk": 100,
"model": "proxy_models.Issue",
"fields": {
"summary": "Pony's Issue",
"assignee": 100
}
}
]

@ -2,7 +2,6 @@ from __future__ import absolute_import, unicode_literals
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
@ -15,7 +14,7 @@ from django.test import TestCase
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):
@ -361,22 +360,3 @@ class ProxyModelTests(TestCase):
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, ()))