diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/regressiontests/model_forms_regress/__init__.py | 0 | ||||
| -rw-r--r-- | tests/regressiontests/model_forms_regress/models.py | 32 |
2 files changed, 32 insertions, 0 deletions
diff --git a/tests/regressiontests/model_forms_regress/__init__.py b/tests/regressiontests/model_forms_regress/__init__.py new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/tests/regressiontests/model_forms_regress/__init__.py diff --git a/tests/regressiontests/model_forms_regress/models.py b/tests/regressiontests/model_forms_regress/models.py new file mode 100644 index 0000000000..dedbed7179 --- /dev/null +++ b/tests/regressiontests/model_forms_regress/models.py @@ -0,0 +1,32 @@ +from django.db import models +from django import forms + +class Triple(models.Model): + left = models.IntegerField() + middle = models.IntegerField() + right = models.IntegerField() + + def __unicode__(self): + return u"%d, %d, %d" % (self.left, self.middle, self.right) + + class Meta: + unique_together = (('left', 'middle'), ('middle', 'right')) + +__test__ = {'API_TESTS': """ +When the same field is involved in multiple unique_together constraints, we +need to make sure we don't remove the data for it before doing all the +validation checking (not just failing after the first one). + +>>> _ = Triple.objects.create(left=1, middle=2, right=3) +>>> class TripleForm(forms.ModelForm): +... class Meta: +... model = Triple + +>>> form = TripleForm({'left': '1', 'middle': '2', 'right': '3'}) +>>> form.is_valid() +False +>>> form = TripleForm({'left': '1', 'middle': '3', 'right': '1'}) +>>> form.is_valid() +True +"""} + |
