summaryrefslogtreecommitdiff
path: root/tests/regressiontests/inline_formsets
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-07-18 23:54:34 +0000
committerBrian Rosner <brosner@gmail.com>2008-07-18 23:54:34 +0000
commita19ed8aea395e8e07164ff7d85bd7dff2f24edca (patch)
treeec5fd01c30abc5fa22c1f02159bf68cfe89313cc /tests/regressiontests/inline_formsets
parentdc375fb0f3b7fbae740e8cfcd791b8bccb8a4e66 (diff)
Merged the newforms-admin branch into trunk.
This is a backward incompatible change. The admin contrib app has been refactored. The newforms module has several improvements including FormSets and Media definitions. git-svn-id: http://code.djangoproject.com/svn/django/trunk@7967 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/inline_formsets')
-rw-r--r--tests/regressiontests/inline_formsets/__init__.py0
-rw-r--r--tests/regressiontests/inline_formsets/models.py55
2 files changed, 55 insertions, 0 deletions
diff --git a/tests/regressiontests/inline_formsets/__init__.py b/tests/regressiontests/inline_formsets/__init__.py
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/tests/regressiontests/inline_formsets/__init__.py
diff --git a/tests/regressiontests/inline_formsets/models.py b/tests/regressiontests/inline_formsets/models.py
new file mode 100644
index 0000000000..b22f5e297d
--- /dev/null
+++ b/tests/regressiontests/inline_formsets/models.py
@@ -0,0 +1,55 @@
+# coding: utf-8
+from django.db import models
+
+class School(models.Model):
+ name = models.CharField(max_length=100)
+
+class Parent(models.Model):
+ name = models.CharField(max_length=100)
+
+class Child(models.Model):
+ mother = models.ForeignKey(Parent, related_name='mothers_children')
+ father = models.ForeignKey(Parent, related_name='fathers_children')
+ school = models.ForeignKey(School)
+ name = models.CharField(max_length=100)
+
+__test__ = {'API_TESTS': """
+
+>>> from django.newforms.models import inlineformset_factory
+
+
+Child has two ForeignKeys to Parent, so if we don't specify which one to use
+for the inline formset, we should get an exception.
+
+>>> ifs = inlineformset_factory(Parent, Child)
+Traceback (most recent call last):
+ ...
+Exception: <class 'regressiontests.inline_formsets.models.Child'> has more than 1 ForeignKey to <class 'regressiontests.inline_formsets.models.Parent'>
+
+
+These two should both work without a problem.
+
+>>> ifs = inlineformset_factory(Parent, Child, fk_name='mother')
+>>> ifs = inlineformset_factory(Parent, Child, fk_name='father')
+
+
+If we specify fk_name, but it isn't a ForeignKey from the child model to the
+parent model, we should get an exception.
+
+>>> ifs = inlineformset_factory(Parent, Child, fk_name='school')
+Traceback (most recent call last):
+ ...
+Exception: fk_name 'school' is not a ForeignKey to <class 'regressiontests.inline_formsets.models.Parent'>
+
+
+If the field specified in fk_name is not a ForeignKey, we should get an
+exception.
+
+>>> ifs = inlineformset_factory(Parent, Child, fk_name='test')
+Traceback (most recent call last):
+ ...
+Exception: <class 'regressiontests.inline_formsets.models.Child'> has no field named 'test'
+
+
+"""
+}