Интерфейс администратора Django: как показать другую модель в зависимости от выбора пользователя? - PullRequest
1 голос
/ 06 апреля 2011

Я создаю приложение Poll, используя Django.Рабочий процесс для пользователя Admin выглядит следующим образом:

  1. Администратор нажимает на «Добавить вопрос» , который показывает администратору простую страницу с выпадающим списком 3 типов(Верно / Неверно, множественный выбор, одиночный выбор) вопросов, которые она может создать.По существу, будет 3 типа Моделей Вопросов для каждого из типов.

  2. На основании выбора Администратора из раскрывающегося списка отображается конкретная модель иАдминистратор может ввести значения для различных полей этой модели.

Вот и все!Кажется довольно простой, но, будучи новичком в Django, я не могу найти решение.Любая помощь будет принята с благодарностью.

Спасибо!

Ответы [ 2 ]

1 голос
/ 06 апреля 2011

Это не совсем то поведение, которое вы можете ожидать от запекания в джанго.

Воспользуйтесь преимуществами того, с чем поставляется django , интерфейсами CRUD, и настройте стартовую страницу с выпадающим списком, который перенаправляет на соответствующую модель через некоторый JavaScript.

<script>
// I'm using jQuery since I can type it as fast as pseudo code...
$(function() {
    $("select").change(function() {
        window.location = $(this).val();
    })
})
</script>

<select>
    <option value="{% url admin:myapp_mymodel1_add %}">Model 1</option>
    <option value="{% url admin:myapp_mymodel2_add %}">Model 2</option>
    <option value="{% url admin:myapp_mymodel3_add %}">Model 3</option>
</select>
0 голосов
/ 06 апреля 2011

Вам нужно использовать админа для этого? Я думаю, что ряд общих форм будет вам полезнее, если вы захотите создать собственный рабочий процесс, который включает в себя обработку данных нескольких форм.

Вы можете связать свои формы, используя Django FormWizard .

...