1
0
mirror of https://github.com/django/django.git synced 2025-10-25 22:56:12 +00:00

[1.2.X] Fixed #14102 -- Ensure that fields that have been excluded from a form aren't included in the unique_for_* checks, either. Thanks to Travis Cline for the report and fix.

Backport of r13598 from trunk.

git-svn-id: http://code.djangoproject.com/svn/django/branches/releases/1.2.X@13599 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Russell Keith-Magee
2010-08-17 07:08:26 +00:00
parent 1e3ed71ca6
commit 14fa7f9907
4 changed files with 18 additions and 5 deletions

View File

@@ -156,6 +156,10 @@ class UniqueTest(TestCase):
form = PostForm({'subtitle': "Finally", "title": "Django 1.0 is released",
"slug": "Django 1.0", 'posted': '2008-09-03'}, instance=p)
self.assertTrue(form.is_valid())
form = PostForm({'title': "Django 1.0 is released"})
self.assertFalse(form.is_valid())
self.assertEqual(len(form.errors), 1)
self.assertEqual(form.errors['posted'], [u'This field is required.'])
def test_inherited_unique_for_date(self):
p = Post.objects.create(title="Django 1.0 is released",

View File

@@ -40,6 +40,15 @@ class GetUniqueCheckTests(unittest.TestCase):
), m._get_unique_checks()
)
def test_unique_for_date_exclusion(self):
m = UniqueForDateModel()
self.assertEqual((
[(UniqueForDateModel, ('id',))],
[(UniqueForDateModel, 'year', 'count', 'end_date'),
(UniqueForDateModel, 'month', 'order', 'end_date')]
), m._get_unique_checks(exclude='start_date')
)
class PerformUniqueChecksTest(unittest.TestCase):
def setUp(self):
# Set debug to True to gain access to connection.queries.