Commit 0115f9fa authored by j0hnsmith's avatar j0hnsmith Committed by Tim Graham
Browse files

Fixed #25692 -- Added natural keys support to Site model.

parent 81006b96
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -78,6 +78,9 @@ class SiteManager(models.Manager):
        global SITE_CACHE
        SITE_CACHE = {}

    def get_by_natural_key(self, domain):
        return self.get(domain=domain)


@python_2_unicode_compatible
class Site(models.Model):
@@ -96,6 +99,9 @@ class Site(models.Model):
    def __str__(self):
        return self.domain

    def natural_key(self):
        return (self.domain,)


def clear_site_cache(sender, **kwargs):
    """
+2 −1
Original line number Diff line number Diff line
@@ -93,7 +93,8 @@ Minor features
:mod:`django.contrib.sites`
^^^^^^^^^^^^^^^^^^^^^^^^^^^

* ...
* The :class:`~django.contrib.sites.models.Site` model now supports
  :ref:`natural keys <topics-serialization-natural-keys>`.

:mod:`django.contrib.staticfiles`
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+4 −0
Original line number Diff line number Diff line
@@ -179,6 +179,10 @@ class SitesFrameworkTests(TestCase):
        with self.assertRaisesMessage(ValidationError, msg):
            site.validate_unique()

    def test_site_natural_key(self):
        self.assertEqual(Site.objects.get_by_natural_key(self.site.domain), self.site)
        self.assertEqual(self.site.natural_key(), (self.site.domain,))


class JustOtherRouter(object):
    def allow_migrate(self, db, app_label, **hints):