Skip to content

4. The Admin

Shelter employees need a way to add and edit animals and review adoption applications without working in the database directly. The built-in admin provides that. It's one of Django's most powerful features.

Let's set up the admin for RescueScout:

  • Customizing the admin: Registering models and adding columns, filters, and search, and showing an animal's applications in an inline on its page.
  • Overriding save() and clean(): So approving an application marks its animal pending, and animals can't have two approved applications.
  • Users, groups & permissions: Staff status, groups, and Django's built-in permissions for employees and volunteers, plus custom permissions.