Idiomatic Python — packages and modules, type hints, exception handling, dependency and virtual-environment management. You can read an unfamiliar codebase and change it safely.
Models, migrations, querysets, the admin, middleware, settings across environments. You understand the ORM well enough to know when it will generate a bad query.
Serializers, viewsets, permissions, authentication, pagination, versioned endpoints, and a clean OpenAPI/Swagger contract.
Schema design, migrations, indexing, reading query plans, transaction behaviour, and writing non-trivial SQL by hand. You can tell whether a query will hold up under load.
Experience with an asynchronous task or message queue — Celery with Redis or RabbitMQ, RQ, or equivalent. Queues and workers, scheduling, retries with backoff and failure handling, and debugging a job that silently never ran. You know why a task must be safe to execute twice.
Working knowledge as a broker/result backend and cache: keys and expiry, data structures, connection and memory behaviour, and what happens when it fills up or restarts.
Loading and transforming tabular data from CSV, Excel, JSON and Parquet. Comfortable with joins, reshaping, dtypes, null handling, and tracing a bad value from source file to database record.