From b189e266ef1a4f8c3fba39e44e053ec42fc52098 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Sat, 25 Aug 2007 18:58:36 +0000 Subject: [PATCH] Fixed #5068 -- Fixed error in docs/db-api.txt. Thanks, Collin Grady and SmileyChris git-svn-id: http://code.djangoproject.com/svn/django/trunk@6010 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/db-api.txt | 20 +++++++++++++++----- 1 file 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 -------------------------------------