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()andclean(): 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.