Лучший способ реализовать высоконастраиваемое действие администратора Django

Я пытаюсь реализовать пользовательское действие Admin, которое создает объект OwnerInvoice на основе данных из объектов Receivable и Reservation. Все объекты Receivable и Reservation связаны только с одним объектом Property.

Идеальный рабочий процесс: Администратор выбирает объект X для выставления счета и показывает список объектов резервирования, которые связаны с объектом X и еще не были выставлены. Администратор может выбрать, какие объекты резервирования должны быть выставлены, и отображается разбивка выбранных данных резервирования. На той же странице администратор должен иметь возможность выбрать из списка объекты дебиторской задолженности (все связанные с недвижимостью X и еще не выставленные счета). После выбора Receivables на последней странице отображается разбивка объектов Reservation и Receivable и выводится итог. При нажатии кнопки save создается объект OwnerInvoice и генерируется PDF (метод OwnerInvoice)

Вопрос: Как сообщество StackOverflow рекомендует мне реализовать подобную функциональность в админке Django? Возможные идеи, которые у меня были, но я не уверен, что они будут работать с приведенным выше потоком:

  1. 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).
  2. 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 и максимально следовать приведенному выше "идеальному рабочему процессу". Спасибо всем

Вернуться на верх