From 6a75c8a52ef01c680677c13cefb08a9ccbe38562 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Wed, 27 Dec 2006 05:23:21 +0000 Subject: newforms: Implemented formfield() for database ForeignKey class and added unit tests git-svn-id: http://code.djangoproject.com/svn/django/trunk@4247 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/modeltests/model_forms/models.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/modeltests/model_forms/models.py b/tests/modeltests/model_forms/models.py index da10e215a6..566dad42ea 100644 --- a/tests/modeltests/model_forms/models.py +++ b/tests/modeltests/model_forms/models.py @@ -20,9 +20,16 @@ class Category(models.Model): def __str__(self): return self.name +class Writer(models.Model): + name = models.CharField(maxlength=50) + + def __str__(self): + return self.name + class Article(models.Model): headline = models.CharField(maxlength=50) pub_date = models.DateTimeField() + writer = models.ForeignKey(Writer) categories = models.ManyToManyField(Category) def __str__(self): @@ -101,12 +108,24 @@ Traceback (most recent call last): ... ValueError: The Category could not be created because the data didn't validate. -ManyToManyFields are represented by a MultipleChoiceField. +Create a couple of Writers. +>>> w = Writer(name='Mike Royko') +>>> w.save() +>>> w = Writer(name='Bob Woodward') +>>> w.save() + +ManyToManyFields are represented by a MultipleChoiceField, and ForeignKeys are +represented by a ChoiceField. >>> ArticleForm = form_for_model(Article) >>> f = ArticleForm(auto_id=False) >>> print f Headline: Pub date: +Writer: Categories: