Интерфейс администратора внешнего ключа django и структура моделей - PullRequest
0 голосов
/ 26 сентября 2011

(Весь код какой-то псевдокод, просто для лучшего чтения У меня есть модель счета-фактуры:

 class Invoice(models.Model):
        // many fields here

Мне нужно приложить некоторые товары (с ценой за единицу и количественными полями) к этому счету, поэтому я создал дополнительную таблицу:

class InvoiceProduct(models.Model):
    product = models.ForeignKey
    quantity = models.IntegerField
    unit_price = models.DecimalField
    invoice = models.ForeignKey(Invoice)

Итак, это почти первый вопрос - «Можно ли это сделать лучше?»

Моя вторая проблема заключается в том, что в администраторе django я управляю этими моделями с помощью встроенных функций: Скриншот Но мой клиент хочет иначе. Он хочет одну кнопку (Добавить товар), после чего появляются всплывающие окна с полями: продукт, количество, цена за единицу. Он их заполняет, жмем ОК. Затем всплывающее окно закрывается, и в основной форме появляется строка с «полями продукта». Я полагаю, мне нужно переопределить шаблон формы администратора? Или мне нужно написать свой собственный виджет или что-то в этом роде?

Извините за мой английский.

1 Ответ

0 голосов
/ 27 сентября 2011

Мое предложение по запросу вашего клиента

Он хочет одну кнопку (Добавить товар), после чего появляются всплывающие окна с полями: продукт, количество, цена за единицу.Он заполняет их, нажимает ОК.

НЕ используйте администратора django для этого.Используйте его только для людей, которые хотят получить доступ к данным практически напрямую.В голове я вижу, что это всего лишь половина шага от самой базы данных.Это означает, что он не подходит пользователям, а не администраторам.

Или мне нужно написать свой собственный виджет или что-то подобное?

Да

...