summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorCarl Meyer <carl@oddbird.net>2010-11-18 23:29:58 +0000
committerCarl Meyer <carl@oddbird.net>2010-11-18 23:29:58 +0000
commit008f333bac7ceada4aca06b274a57ede1f8bc3d9 (patch)
treeb483fa90ab418cd0592d9f0ba2d5b6470af1e854 /tests
parent38ba3775ec86718fabdf0ba1d5baf04a0f2164a7 (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.py2
-rw-r--r--tests/regressiontests/model_regress/tests.py16
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)