Claude-skill-registry django-api-debugger
Debug Django REST Framework API issues including serializers, viewsets, permissions, pagination, filtering, and response formatting. Use when troubleshooting API endpoints, serialization errors, permission denials, or unexpected response data.
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/django-api-debugger" ~/.claude/skills/majiayu000-claude-skill-registry-django-api-debugger && rm -rf "$T"
manifest:
skills/data/django-api-debugger/SKILL.mdsource content
Django API Debugger
Analyzes and debugs Django REST Framework API issues in this project.
Project Context
- Backend: Django 5.x with Django REST Framework
- API base path:
/api/v1/ - Key apps:
,core/projects
,core/userscore/tools - Serializers located in:
*/serializers.py - Views located in:
*/views.py - URL routing:
*/urls.py
When to Use
- "API returning wrong data"
- "Serializer not including field"
- "Permission denied on endpoint"
- "Pagination not working"
- "Filter not applying"
- "API response format incorrect"
Debugging Approach
1. Identify the Endpoint
- Check
for URL patternurls.py - Find the corresponding view/viewset
2. Check the Serializer
- Verify fields are included
- Check
andread_only
settingswrite_only - Look for custom
orto_representationto_internal_value - Verify nested serializers
3. Check the View
- Verify
andquerysetget_queryset() - Check
permission_classes - Look for custom
get_serializer_context() - Verify pagination settings
4. Common Issues
Missing fields in response:
- Field not in serializer's
fields - Field is
write_only=True - Property not defined on model
Permission errors:
- Missing or incorrect
permission_classes - User not authenticated
- Object-level permissions failing
Pagination issues:
- Check
in settingsDEFAULT_PAGINATION_CLASS - Verify
parameterpage_size - Check for
/next
URLs in responseprevious
Key Files to Check
core/ ├── projects/ │ ├── serializers.py # Project serializers │ ├── views.py # Project viewsets │ └── urls.py # Project URL patterns ├── users/ │ ├── serializers.py # User serializers │ └── views.py # User viewsets └── tools/ ├── serializers.py # Tool serializers └── views.py # Tool viewsets
Testing Tips
# Test endpoint directly docker compose exec web python manage.py shell >>> from core.projects.models import Project >>> Project.objects.first().__dict__ # Check serializer output >>> from core.projects.serializers import ProjectSerializer >>> ProjectSerializer(Project.objects.first()).data