summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/db-api.txt20
1 files changed, 15 insertions, 5 deletions
diff --git a/docs/db-api.txt b/docs/db-api.txt
index 766a6ae519..473a153cb8 100644
--- a/docs/db-api.txt
+++ b/docs/db-api.txt
@@ -207,14 +207,24 @@ the database until you explicitly call ``save()``.
The ``save()`` method has no return value.
-Updating ``ForeignKey`` fields works exactly the same way; simply assign an
-object of the right type to the field in question::
+Saving ForeignKey and ManyToManyField fields
+--------------------------------------------
+
+Updating ``ForeignKey`` fields works exactly the same way as saving a normal
+field; simply assign an object of the right type to the field in question::
+
+ cheese_blog = Blog.objects.get(name="Cheddar Talk")
+ entry.blog = cheese_blog
+ entry.save()
+
+Updating a ``ManyToManyField`` works a little differently; use the ``add()``
+method on the field to add a record to the relation::
joe = Author.objects.create(name="Joe")
- entry.author = joe
- entry.save()
+ entry.authors.add(joe)
-Django will complain if you try to assign an object of the wrong type.
+Django will complain if you try to assign or add an object of the wrong type.
+You can find out more about `Queries over related objects`_ below.
How Django knows to UPDATE vs. INSERT
-------------------------------------