Ticket #16128: 16128.3.patch

File 16128.3.patch, 2.1 KB (added by Aymeric Augustin, 13 years ago)
  • tests/modeltests/proxy_models/tests.py

     
    1111from models import UserProxyProxy, Country, State, StateProxy, TrackerUser
    1212from models import BaseUser, Bug, ProxyTrackerUser, Improvement, ProxyProxyBug
    1313from models import ProxyBug, ProxyImprovement
     14from models import AuthUser, AuthUserProxy, Profile, ProfileWithProxy
    1415
    1516class ProxyModelTests(TestCase):
    1617    def test_same_manager_queries(self):
     
    312313        management.call_command('loaddata', 'mypeople.json', verbosity=0, commit=False)
    313314        p = MyPerson.objects.get(pk=100)
    314315        self.assertEqual(p.name, 'Elvis Presley')
     316
     317    def test_delete_cascade_to_proxy_objects(self):
     318        """
     319        Test that delete() cascades to proxy objects. Regression for #16128.
     320        """
     321        proxy_joe = AuthUserProxy.objects.create()
     322        joe_s_profile = ProfileWithProxy.objects.create(user=proxy_joe)
     323        self.assertEqual(ProfileWithProxy.objects.count(), 1)
     324        real_joe = AuthUser(pk=proxy_joe.pk)
     325        real_joe.delete()
     326        self.assertEqual(ProfileWithProxy.objects.count(), 0)
  • tests/modeltests/proxy_models/models.py

     
    55providing a modified interface to the data from the base class.
    66"""
    77
     8from django.contrib.auth.models import User as AuthUser
    89from django.contrib.contenttypes.models import ContentType
    910from django.db import models
    1011
     
    161162
    162163class ProxyImprovement(Improvement):
    163164    class Meta:
    164         proxy = True
    165  No newline at end of file
     165        proxy = True
     166
     167
     168class AuthUserProxy(AuthUser):
     169    class Meta:
     170        proxy = True
     171
     172class Profile(models.Model):
     173    user = models.ForeignKey(AuthUser)
     174
     175class ProfileWithProxy(models.Model):
     176    user = models.ForeignKey(AuthUserProxy)
Back to Top