Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

[1.4.x] Fixed #16929 - Documented how to extend UserAdmin with UserPr…

…ofile fields; thanks charettes for the draft example.

Backport of 22242c5 from master.
  • Loading branch information...
commit 18d88a169fecf7efa2fba2ba2867e7a37084c7fc 1 parent 81c77d2
@timgraham timgraham authored
Showing with 30 additions and 0 deletions.
  1. +30 −0 docs/topics/auth.txt
View
30 docs/topics/auth.txt
@@ -664,6 +664,36 @@ the handler, if ``created`` is ``True``, create the associated user profile::
.. seealso:: :doc:`/topics/signals` for more information on Django's signal
dispatcher.
+Adding UserProfile fields to the admin
+--------------------------------------
+
+To add the UserProfile fields to the user page in the admin, define an
+:class:`~django.contrib.admin.InlineModelAdmin` (for this example, we'll use a
+:class:`~django.contrib.admin.StackedInline`) in your app's ``admin.py`` and
+add it to a ``UserAdmin`` class which is registered with the
+:class:`~django.contrib.auth.models.User` class::
+
+ from django.contrib import admin
+ from django.contrib.auth.admin import UserAdmin
+ from django.contrib.auth.models import User
+
+ from my_user_profile_app.models import UserProfile
+
+ # Define an inline admin descriptor for UserProfile model
+ # which acts a bit like a singleton
+ class UserProfileInline(admin.StackedInline):
+ model = UserProfile
+ can_delete = False
+ verbose_name_plural = 'profile'
+
+ # Define a new User admin
+ class UserAdmin(UserAdmin):
+ inlines = (UserProfileInline, )
+
+ # Re-register UserAdmin
+ admin.site.unregister(User)
+ admin.site.register(User, UserAdmin)
+
Authentication in Web requests
==============================
Please sign in to comment.
Something went wrong with that request. Please try again.