mirror of
https://github.com/django/django.git
synced 2025-01-03 15:06:09 +00:00
Fixed #24774 -- Made contrib.site's Site.domain field unique
This commit is contained in:
parent
4c2197db32
commit
70e3e2e08e
1
AUTHORS
1
AUTHORS
@ -565,6 +565,7 @@ answer newbie questions, and generally made Django that much better:
|
|||||||
Philip Lindborg <philip.lindborg@gmail.com>
|
Philip Lindborg <philip.lindborg@gmail.com>
|
||||||
Philippe Raoult <philippe.raoult@n2nsoft.com>
|
Philippe Raoult <philippe.raoult@n2nsoft.com>
|
||||||
phil@produxion.net
|
phil@produxion.net
|
||||||
|
Piotr Jakimiak <piotr.jakimiak@gmail.com>
|
||||||
Piotr Lewandowski <piotr.lewandowski@gmail.com>
|
Piotr Lewandowski <piotr.lewandowski@gmail.com>
|
||||||
plisk
|
plisk
|
||||||
polpak@yahoo.com
|
polpak@yahoo.com
|
||||||
|
20
django/contrib/sites/migrations/0002_alter_domain_unique.py
Normal file
20
django/contrib/sites/migrations/0002_alter_domain_unique.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import django.contrib.sites.models
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('sites', '0001_initial'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='site',
|
||||||
|
name='domain',
|
||||||
|
field=models.CharField(max_length=100, unique=True, validators=[django.contrib.sites.models._simple_domain_name_validator], verbose_name='domain name'),
|
||||||
|
),
|
||||||
|
]
|
@ -73,7 +73,7 @@ class SiteManager(models.Manager):
|
|||||||
class Site(models.Model):
|
class Site(models.Model):
|
||||||
|
|
||||||
domain = models.CharField(_('domain name'), max_length=100,
|
domain = models.CharField(_('domain name'), max_length=100,
|
||||||
validators=[_simple_domain_name_validator])
|
validators=[_simple_domain_name_validator], unique=True)
|
||||||
name = models.CharField(_('display name'), max_length=50)
|
name = models.CharField(_('display name'), max_length=50)
|
||||||
objects = SiteManager()
|
objects = SiteManager()
|
||||||
|
|
||||||
|
@ -23,6 +23,11 @@ The sites framework is mainly based on a simple model:
|
|||||||
|
|
||||||
The domain name associated with the Web site.
|
The domain name associated with the Web site.
|
||||||
|
|
||||||
|
.. versionchanged:: 1.9
|
||||||
|
|
||||||
|
The ``domain`` field was set to be
|
||||||
|
:attr:`~django.db.models.Field.unique`.
|
||||||
|
|
||||||
.. attribute:: name
|
.. attribute:: name
|
||||||
|
|
||||||
A human-readable "verbose" name for the Web site.
|
A human-readable "verbose" name for the Web site.
|
||||||
|
@ -447,6 +447,9 @@ Miscellaneous
|
|||||||
|
|
||||||
* Support for PostGIS 1.5 has been dropped.
|
* Support for PostGIS 1.5 has been dropped.
|
||||||
|
|
||||||
|
* The ``django.contrib.sites.models.Site.domain`` field was changed to be
|
||||||
|
:attr:`~django.db.models.Field.unique`.
|
||||||
|
|
||||||
.. _deprecated-features-1.9:
|
.. _deprecated-features-1.9:
|
||||||
|
|
||||||
Features deprecated in 1.9
|
Features deprecated in 1.9
|
||||||
|
@ -135,6 +135,12 @@ class SitesFrameworkTests(TestCase):
|
|||||||
clear_site_cache(Site, instance=site, using='default')
|
clear_site_cache(Site, instance=site, using='default')
|
||||||
self.assertEqual(models.SITE_CACHE, {})
|
self.assertEqual(models.SITE_CACHE, {})
|
||||||
|
|
||||||
|
def test_unique_domain(self):
|
||||||
|
site = Site(domain=self.site.domain)
|
||||||
|
msg = 'Site with this Domain name already exists.'
|
||||||
|
with self.assertRaisesMessage(ValidationError, msg):
|
||||||
|
site.validate_unique()
|
||||||
|
|
||||||
|
|
||||||
class JustOtherRouter(object):
|
class JustOtherRouter(object):
|
||||||
def allow_migrate(self, db, app_label, **hints):
|
def allow_migrate(self, db, app_label, **hints):
|
||||||
|
Loading…
Reference in New Issue
Block a user