diff --git a/docs/topics/auth.txt b/docs/topics/auth.txt index c85ff604bf..8aae4f5e73 100644 --- a/docs/topics/auth.txt +++ b/docs/topics/auth.txt @@ -225,8 +225,9 @@ Methods .. method:: models.User.has_perm(perm, obj=None) 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``. .. versionadded:: 1.2 @@ -1122,6 +1123,8 @@ generic view itself. For example:: def limited_object_detail(*args, **kwargs): return object_detail(*args, **kwargs) +.. _permissions: + Permissions =========== @@ -1164,6 +1167,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