DjangoAdmin: Использование InlineModels без родительской модели
У меня есть модель (например, Contact
с двумя полями, email
и name
). Я хочу добавить в Django Admin пользовательское представление, позволяющее пакетно создавать несколько контактов. Поскольку у них нет m2m-отношений, я не могу добавить их как InlineModelAdmin
в другой объект. Есть ли способ использовать inline-код из Django admin для добавления пользовательского представления для пакетного добавления нескольких контактов?
В качестве отправной точки для добавления пользовательских представлений я сейчас нахожусь на этом пути (который просто добавляет add-page по пути /add/multiple
).
class ContactAdmin(admin.ModelAdmin):
def get_urls(self):
info = self.opts.app_label, self.opts.model_name
urls = [
path(
"add/multiple/",
self.admin_site.admin_view(self.add_multiple_view),
name="%s_%s_add_multiple" % info,
)
]
return urls + super().get_urls()
def add_multiple_view(self, request, form_url="", extra_context=None):
return self.changeform_view(request, None, form_url, extra_context)