1. Зачем нужен переход на другую страницу для выбора начальника, разве это удобно? Чтобы избавиться от проблем выпадающего списка при большом количестве записей в таблице
Person, можно использовать
django-select2 - он даст возможность искать по элементам или, нажав на кнопку "удалить" прямо в элементе управления, указать, что начальника нет.
Демо.
2 и 3. С работниками и товарами, наверное, нужно использовать
FormSets. Вот пример о том, как скрестить их с class-based views:
effectivedjango.com/tutorial/related.html - кажется, он подходит к вашей ситуации.
P. S. Если у вас вся задача состоит в управлении таблицами, не думали для этого использовать родное средство - django-admin? Там всё это уже есть - и выбор, и формсеты. С помощью таких батареек как
Django Suit можно облагородить внешний вид. Ну а где нужно - кастомизировать и добавить свои view, скажем, на главную страницу админки.