У меня есть множество моделей, которые выглядят так:Django администратора - встроенные встраивает (или три модели редактирования сразу)
class Page(models.Model):
title = models.CharField(max_length=255)
class LinkSection(models.Model):
page = models.ForeignKey(Page)
title = models.CharField(max_length=255)
class Link(models.Model):
linksection = models.ForeignKey(LinkSection)
text = models.CharField(max_length=255)
url = models.URLField()
и admin.py, который выглядит следующим образом:
class LinkInline(admin.TabularInline):
model = Link
class LinkSectionInline(admin.TabularInline):
model = LinkSection
inlines = [ LinkInline, ]
class PageAdmin(admin.ModelAdmin):
inlines = [ LinkSectionInline, ]
Моя цель - получить интерфейс администратора, который позволяет мне редактировать все на одной странице. Конечный результат этой структуры модели является то, что вещи, которые генерируются в вид + шаблон, который выглядит более или менее как:
<h1>{{page.title}}</h1>
{% for ls in page.linksection_set.objects.all %}
<div>
<h2>{{ls.title}}</h2>
<ul>
{% for l in ls.link_set.objects.all %}
<li><a href="{{l.url}}">{{l.title}}</a></li>
{% endfor %}
</ul>
</div>
{% endfor %}
Я знаю, что инлайн-в-ан-рядный трюк терпит неудачу в админке Django, так как Я ожидал. Кто-нибудь знает, как разрешить такое трехуровневое моделирование? Заранее спасибо.
Не могли бы вы показать свой окончательный код с решением, которое вы приняли? –