Что должен знать middle backend разработчик на python?
Даст элементарную базу. Если ещё какой-то проект запилите с применением полученных знаний, то есть шанс выйти на стажёрский уровень. Чтобы стать мидлом, надо устроиться на работу и отработать годика три.
По одной только книге мидлом у вас стать не выйдет. 
Читайте требования по вакансиям. вот требования из первой попавшейся вакансии на мидла-питониста:

Что нужно делать:

разрабатывать ядро и приложения биллинга. Много правил, сложная логика, работа с деньгами;
участвовать в проектировании фич. Это непросто. Мы делаем коробочный продукт, поэтому фичи надо проектировать с расчетом, что ими будут пользоваться десятки клиентов при сотнях разных обстоятельств;
принимать решения по технологическому развитию продукта;
обеспечивать «поставку» продукта, настраивать CI, писать тесты, делать ревью, все атрибуты современной разработки;
часть биллинга, написанная на Python у нас особо ответственная — она принимает платежи и обрабатывает сотни запросов в секунду на предоставление услуг на средней инсталляции.

Требования:

опыт промышленной разработки на Python от года;
опыт работы с реляционными базами данных. Надо понимать не только как сделать запросы через ORM, но и что такое транзакции, и как ими пользоваться;
опыт работы в команде;
писать качественный код с пониманием зачем он пишется, и что он будет делать. Тесты к нему тоже потребуются.
