Как добавить список таблиц Django на страницу редактирования change_form.html?
Друзья, как я могу добавить в страницу редактирования админки Django админку типа таблицы?
Итак, у меня есть MaterialAdmin. Я добавил в него функцию change_view() и все необходимые данные поместил в extra_content вот так:
class MaterialAdmin(admin.ModelAdmin):
change_form_template = 'admin/change_material_form.html'
search_fields = ['name']
autocomplete_fields = ("manufacturer", )
list_display = ("_show_name_with_manufacturer",
"_show_material_groups_quantity",
"_show_boxing",
"unit",)
def get_queryset(self, request):
qs = super().get_queryset(request)
return qs.select_related("manufacturer").prefetch_related("material_group", "material_item", "unit")
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
material = Material.objects.filter(id=object_id).select_related("manufacturer").prefetch_related("material_group", "material_item", "unit").first()
material_items = material.material_item.all()
material_groups = material.material_group.all()
works = MaterialGroupWork.objects.filter(material_group__in=material_groups).distinct()
extra_context['material_items'] = material_items
extra_context['material_groups'] = material_groups
extra_context['works'] = works
return super(MaterialAdmin, self).change_view(
request, object_id, form_url, extra_context=extra_context,
)
admin.site.register(Material, MaterialAdmin)
Теперь у меня есть доступ к данным в моей пользовательской форме change_material_form.html
....
<div>
{% for material_item in material_items %}
{{ material_item }}
{% endfor %}
</div>
<div>
{% for material_group in material_groups %}
{{ material_group }}
{% endfor %}
</div>
<div>
{% for work in works %}
{{ work.work }}
{% endfor %}
</div>
Что я действительно хочу, так это заменить эти div'ы таблицами Django Admin. Как я могу это реализовать? Я посмотрел в файл шаблона "change_list_results.html" и там есть некоторые result_headers и results data. Но я не знаю, как получить "результаты" из моих наборов запросов. Есть идеи?