summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBrian Rosner <brosner@gmail.com>2008-06-10 03:54:05 +0000
committerBrian Rosner <brosner@gmail.com>2008-06-10 03:54:05 +0000
commit3b92ced51856e740cd6fb3d3e5bb8ea932bd276e (patch)
tree6eafa71c49c140116f616cf8b07e0c91bb7aaa67 /tests
parentbb75091bf46d9921ecdd89155866e929cc70a38e (diff)
newforms-admin: Fixed #5520 -- Implemented save_as functionality. This also
properly makes inlines work as well. git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@7603 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests')
-rw-r--r--tests/modeltests/model_formsets/models.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/modeltests/model_formsets/models.py b/tests/modeltests/model_formsets/models.py
index 89a4e0bf5c..9fd50e7521 100644
--- a/tests/modeltests/model_formsets/models.py
+++ b/tests/modeltests/model_formsets/models.py
@@ -232,4 +232,26 @@ As you can see, 'Le Spleen de Paris' is now a book belonging to Charles Baudelai
Le Spleen de Paris
Les Fleurs du Mal
+The save_as_new parameter lets you re-associate the data to a new instance.
+This is used in the admin for save_as functionality.
+
+>>> data = {
+... 'book_set-TOTAL_FORMS': '3', # the number of forms rendered
+... 'book_set-INITIAL_FORMS': '2', # the number of forms with initial data
+... 'book_set-0-id': '1',
+... 'book_set-0-title': 'Les Fleurs du Mal',
+... 'book_set-1-id': '2',
+... 'book_set-1-title': 'Le Spleen de Paris',
+... 'book_set-2-title': '',
+... }
+
+>>> formset = AuthorBooksFormSet(data, instance=Author(), save_as_new=True)
+>>> formset.is_valid()
+True
+
+>>> new_author = Author.objects.create(name='Charles Baudelaire')
+>>> formset.instance = new_author
+>>> [book for book in formset.save() if book.author.pk == new_author.pk]
+[<Book: Les Fleurs du Mal>, <Book: Le Spleen de Paris>]
+
"""}