summaryrefslogtreecommitdiff
path: root/tests/modeltests/model_formsets/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/modeltests/model_formsets/models.py')
-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>]
+
"""}