From 1be31c320c2e0efa1730f73509d64e024ab31a0c Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Mon, 10 Mar 2014 21:11:23 +0100 Subject: [PATCH] Fixed #21875 -- Clarified that get_user_model() only works at run time. Thanks Benjamin White for the report. --- docs/releases/1.7.txt | 4 ++++ docs/topics/auth/customizing.txt | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/docs/releases/1.7.txt b/docs/releases/1.7.txt index 2dd3931060..934ad017c9 100644 --- a/docs/releases/1.7.txt +++ b/docs/releases/1.7.txt @@ -869,6 +869,10 @@ regressions cannot be ruled out. You may encounter the following exceptions: will also trigger this exception. The ORM cannot function properly until all models are available. + Another common culprit is :func:`django.contrib.auth.get_user_model()`. Use + the :setting:`AUTH_USER_MODEL` setting to reference the User model at import + time. + * ``ImportError: cannot import name ...`` This happens if the import sequence ends up in a loop. diff --git a/docs/topics/auth/customizing.txt b/docs/topics/auth/customizing.txt index cc991cd951..55bd4811fd 100644 --- a/docs/topics/auth/customizing.txt +++ b/docs/topics/auth/customizing.txt @@ -426,6 +426,10 @@ different User model. post_save.connect(post_save_receiver, sender=settings.AUTH_USER_MODEL) + Generally speaking, you should reference the User model with the + :setting:`AUTH_USER_MODEL` setting in code that is executed at import + time. ``get_user_model()`` only works once Django has imported all models. + Specifying a custom User model ------------------------------