diff options
| author | Carl Meyer <carl@oddbird.net> | 2010-11-18 23:29:58 +0000 |
|---|---|---|
| committer | Carl Meyer <carl@oddbird.net> | 2010-11-18 23:29:58 +0000 |
| commit | 008f333bac7ceada4aca06b274a57ede1f8bc3d9 (patch) | |
| tree | b483fa90ab418cd0592d9f0ba2d5b6470af1e854 /tests | |
| parent | 38ba3775ec86718fabdf0ba1d5baf04a0f2164a7 (diff) | |
Fixed pk uniqueness validation for new objects created outside of a ModelForm. Also removed need for ModelForm to poke at Model._state.adding, keeping it an internal ORM concern.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@14613 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/model_regress/models.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/model_regress/tests.py | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/tests/regressiontests/model_regress/models.py b/tests/regressiontests/model_regress/models.py index 6d1573aea3..e4c7c3bf36 100644 --- a/tests/regressiontests/model_regress/models.py +++ b/tests/regressiontests/model_regress/models.py @@ -58,6 +58,8 @@ class BrokenUnicodeMethod(models.Model): # object). return 'Názov: %s' % self.name +class NonAutoPK(models.Model): + name = models.CharField(max_length=10, primary_key=True) __test__ = {'API_TESTS': """ (NOTE: Part of the regression test here is merely parsing the model diff --git a/tests/regressiontests/model_regress/tests.py b/tests/regressiontests/model_regress/tests.py index 0257c63d8c..6397b90a66 100644 --- a/tests/regressiontests/model_regress/tests.py +++ b/tests/regressiontests/model_regress/tests.py @@ -1,16 +1,26 @@ -from models import Worker +from django.core.exceptions import ValidationError from django.test import TestCase +from models import Worker, NonAutoPK + + class RelatedModelOrderedLookupTest(TestCase): """ Regression test for #10153: foreign key __gte and __lte lookups. """ - + # The bug is that the following queries would raise: # "TypeError: Related Field has invalid lookup: gte" - + def test_related_gte_lookup(self): Worker.objects.filter(department__gte=0) def test_related_lte_lookup(self): Worker.objects.filter(department__lte=0) + + +class ModelValidationTest(TestCase): + def test_pk_validation(self): + one = NonAutoPK.objects.create(name="one") + again = NonAutoPK(name="one") + self.assertRaises(ValidationError, again.validate_unique) |
