From 2f44fa7f069427e2da18a0f6cb2ffc29699f2ca3 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Fri, 16 Dec 2016 18:34:41 -0500 Subject: [PATCH] Documented how to copy a OneToOneField. Thanks Anton Gilgur for the report and review. --- docs/topics/db/queries.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/docs/topics/db/queries.txt b/docs/topics/db/queries.txt index 654c2c5c4a..0d69099fa7 100644 --- a/docs/topics/db/queries.txt +++ b/docs/topics/db/queries.txt @@ -985,6 +985,15 @@ entry:: entry.save() entry.authors.set(old_authors) +For a ``OneToOneField``, you must duplicate the related object and assign it +to the new object's field to avoid violating the one-to-one unique constraint. +For example, assuming ``entry`` is already duplicated as above:: + + detail = EntryDetail.objects.all()[0] + detail.pk = None + detail.entry = entry + detail.save() + .. _topics-db-queries-update: Updating multiple objects at once