Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #7517 -- Added code to remove Sites from the site cache when th…

…ey are deleted. Thanks to Marc Fargas for the patch.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@7724 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 1fc0077a95aff89fde16a8496884d2ca2c4de7c9 1 parent b83fcac
@freakboy3742 freakboy3742 authored
Showing with 22 additions and 0 deletions.
  1. +9 −0 django/contrib/sites/models.py
  2. +13 −0 django/contrib/sites/tests.py
View
9 django/contrib/sites/models.py
@@ -44,6 +44,15 @@ class Admin:
def __unicode__(self):
return self.domain
+ def delete(self):
+ pk = self.pk
+ super(Site, self).delete()
+ try:
+ del(SITE_CACHE[pk])
+ except KeyError:
+ pass
+
+
class RequestSite(object):
"""
A class that shares the primary interface of Site (i.e., it has
View
13 django/contrib/sites/tests.py
@@ -0,0 +1,13 @@
+"""
+>>> # Make sure that get_current() does not return a deleted Site object.
+>>> from django.contrib.sites.models import Site
+>>> s = Site.objects.get_current()
+>>> s
+<Site: example.com>
+
+>>> s.delete()
+>>> Site.objects.get_current()
+Traceback (most recent call last):
+...
+DoesNotExist: Site matching query does not exist.
+"""

0 comments on commit 1fc0077

Please sign in to comment.
Something went wrong with that request. Please try again.