Лучший способ реализовать высоконастраиваемое действие администратора Django
Я пытаюсь реализовать пользовательское действие Admin, которое создает объект OwnerInvoice на основе данных из объектов Receivable и Reservation. Все объекты Receivable и Reservation связаны только с одним объектом Property.
Идеальный рабочий процесс: Администратор выбирает объект X для выставления счета и показывает список объектов резервирования, которые связаны с объектом X и еще не были выставлены. Администратор может выбрать, какие объекты резервирования должны быть выставлены, и отображается разбивка выбранных данных резервирования. На той же странице администратор должен иметь возможность выбрать из списка объекты дебиторской задолженности (все связанные с недвижимостью X и еще не выставленные счета). После выбора Receivables на последней странице отображается разбивка объектов Reservation и Receivable и выводится итог. При нажатии кнопки save создается объект OwnerInvoice и генерируется PDF (метод OwnerInvoice)
Вопрос: Как сообщество StackOverflow рекомендует мне реализовать подобную функциональность в админке Django? Возможные идеи, которые у меня были, но я не уверен, что они будут работать с приведенным выше потоком:
- Extend the OwnerInvoice's application app_index admin template to show a custom table containing Property object information. Use redirects for intermediate pages (using Reservation change_list and Receivable change_list).
- Extend the OwnerInvoice create object admin page to select Reservation and Receivable instances and call a method to generate PDF when save is pressed.
Я не уверен, что любая из вышеперечисленных идей является возможным/рекомендуемым решением. Я открыт для любых предложений! В идеале, лучшим решением будет максимально использовать встроенный фреймворк Django и максимально следовать приведенному выше "идеальному рабочему процессу". Спасибо всем