diff --git a/docs/topics/auth.txt b/docs/topics/auth.txt index 6a62be8c32..29d8f161be 100644 --- a/docs/topics/auth.txt +++ b/docs/topics/auth.txt @@ -212,8 +212,9 @@ Methods .. method:: models.User.has_perm(perm) Returns ``True`` if the user has the specified permission, where perm is - in the format ``"."``. - If the user is inactive, this method will always return ``False``. + in the format ``"."``. (see + `permissions`_ section below). If the user is inactive, this method will + always return ``False``. .. method:: models.User.has_perms(perm_list) @@ -1091,6 +1092,8 @@ generic view itself. For example:: def limited_object_detail(*args, **kwargs): return object_detail(*args, **kwargs) +.. _permissions: + Permissions =========== @@ -1133,6 +1136,14 @@ models being installed at that time. Afterward, it will create default permissions for new models each time you run :djadmin:`manage.py syncdb `. +Assuming you have an application with an +:attr:`~django.db.models.Options.app_label` ``foo`` and a model named ``Bar``, +to test for basic permissions you should use: + + * add: ``user.has_perm('foo.add_bar')`` + * change: ``user.has_perm('foo.change_bar')`` + * delete: ``user.has_perm('foo.delete_bar')`` + .. _custom-permissions: Custom permissions