Есть ли способ иметь отдельные страницы для встроенных форм администратора в Django?

Допустим, у меня есть модель A. Затем у меня есть несколько моделей B, C, D, E и т. Д., Каждая из которых имеет foreignKey для модели A. Я знаю, что могу установить B, C, D и т. Д. Как встроенные в модель A, чтобы когда я создаю модель A, она покажет наборы форм для добавления нескольких элементов для каждой подмодели, но я думаю, что это сделало бы довольно загроможденную и очень большую страницу.

Есть ли способ каким-то образом вместо того, чтобы все эти наборы форм были встроены на одной странице, чтобы каждый набор форм располагался на отдельной странице? другими словами, будут ссылки из модели A для создания / редактирования связанной модели B, создания / редактирования связанной модели C и т. д.?

Спасибо!


person user210881    schedule 11.05.2010    source источник
comment
нет ответов? кажется, это будет обычным вариантом использования?   -  person user210881    schedule 13.05.2010


Ответы (2)


Я ищу способ сделать то же самое. Похоже, ответом могут быть прокси-модели. Это предлагается в качестве ответа на этот запрос о переполнении стека:

администратор django: отдельный просмотр и изменение только для чтения просмотр

… И этот запрос, спрашивающий о нескольких списках администраторов для одной и той же модели:

Несколько администраторов / представлений ModelAdmins для одной модели в администраторе Django

Документация по моделям прокси здесь:

Django | Модели | Документация Django # Модели прокси

Я сам новичок в Django, поэтому опубликую более полный ответ, как только он заработает.

person andrewf    schedule 04.08.2011

Тривиальный ответ - создать файл:

${TEMPLATE_DIR}/admin/app/modelA/change_form.html

Внутри формы изменения вы делаете следующее:

{% extends "admin/change_form.html" %}
{% block after_related_objects %}
<ul>
   <li><a href="/admin/app/modelB/{{ original.modelB.id }}/">Edit modelB</a></li>
</ul>
{% endblock %}

Это вроде как примитивно, но делает то, что вы хотите. Списки и сложные агрегаты сложнее, и вам нужно проверить наличие оригинала, чтобы убедиться, что вы не генерируете ошибки шаблона.

person Elf Sternberg    schedule 26.10.2010