logged in user doesn't have permission to add new instances of the Author model from our previous example, it won't be listed in the types of pages that user can add when viewing the navigation tree in the admin. In conjunction with Django's permission system, the Page model also implements the methods can_add , can_change and can_delete . These methods provide a way for custom page types to implement their own permissions by being overridden on subclasses of the Page model. Each of these methods takes a single argument which is the current request object. This provides the ability to define custom permission methods with access to the current user as well. Note The can_add permission in the context of an existing page has a different meaning than in the context of an overall model as is the case with Django's permission system. In the case of a page instance, can_add refers to the ability to add child pages. For example, if our Author content type should only contain one child page at most, and only be deletable when added as a child page (unless you're a superuser), the following permission methods could be implemented: We've looked closely at the aspects of individual pages, now let's look at displaying all of the pages as a heirarchical menu. A typical site may contain several different page menus, for example a menu that shows primary pages on the header of the site, with secondary pages as drop-down lists. Another type of menu