diff options
| author | Adrian Holovaty <adrian@holovaty.com> | 2006-12-30 00:12:02 +0000 |
|---|---|---|
| committer | Adrian Holovaty <adrian@holovaty.com> | 2006-12-30 00:12:02 +0000 |
| commit | b9fdf9abb841f1eda11fb4d8094372dbbbeb58cb (patch) | |
| tree | c8e0b24db0c347ddbd41c35346818955d7d59835 /tests/modeltests/model_forms | |
| parent | 0919920bc0cf981da471717ce7000cfc9dabb077 (diff) | |
newforms: Got form_for_instance() to select initial ManyToManyField values properly
git-svn-id: http://code.djangoproject.com/svn/django/trunk@4261 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/modeltests/model_forms')
| -rw-r--r-- | tests/modeltests/model_forms/models.py | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/tests/modeltests/model_forms/models.py b/tests/modeltests/model_forms/models.py index 60a3defde5..f9cbce996f 100644 --- a/tests/modeltests/model_forms/models.py +++ b/tests/modeltests/model_forms/models.py @@ -28,7 +28,7 @@ class Writer(models.Model): class Article(models.Model): headline = models.CharField(maxlength=50) - pub_date = models.DateTimeField() + pub_date = models.DateField() writer = models.ForeignKey(Writer) categories = models.ManyToManyField(Category, blank=True) @@ -80,6 +80,8 @@ __test__ = {'API_TESTS': """ >>> Category.objects.all() [<Category: Entertainment>, <Category: It's a test>] +If you call create() with save=False, then it will return an object that hasn't +yet been saved. In this case, it's up to you to save it. >>> f = CategoryForm({'name': 'Third test', 'url': 'third'}) >>> f.errors {} @@ -94,6 +96,7 @@ __test__ = {'API_TESTS': """ >>> Category.objects.all() [<Category: Entertainment>, <Category: It's a test>, <Category: Third test>] +If you call create() with invalid data, you'll get a ValueError. >>> f = CategoryForm({'name': '', 'url': 'foo'}) >>> f.errors {'name': [u'This field is required.']} @@ -102,7 +105,6 @@ __test__ = {'API_TESTS': """ Traceback (most recent call last): ... ValueError: The Category could not be created because the data didn't validate. - >>> f = CategoryForm({'name': '', 'url': 'foo'}) >>> f.create() Traceback (most recent call last): @@ -181,4 +183,27 @@ True >>> new_art = Article.objects.get(id=1) >>> new_art.headline 'New headline' + +Add some categories and test the many-to-many form output. +>>> new_art.categories.all() +[] +>>> new_art.categories.add(Category.objects.get(name='Entertainment')) +>>> new_art.categories.all() +[<Category: Entertainment>] +>>> TestArticleForm = form_for_instance(new_art) +>>> f = TestArticleForm(auto_id=False) +>>> print f.as_ul() +<li>Headline: <input type="text" name="headline" value="New headline" maxlength="50" /></li> +<li>Pub date: <input type="text" name="pub_date" value="1988-01-04" /></li> +<li>Writer: <select name="writer"> +<option value="">---------</option> +<option value="1" selected="selected">Mike Royko</option> +<option value="2">Bob Woodward</option> +</select></li> +<li>Categories: <select multiple="multiple" name="categories"> +<option value="1" selected="selected">Entertainment</option> +<option value="2">It's a test</option> +<option value="3">Third test</option> +</select></li> + """} |
