Ho un insieme di modelli che assomigliano a questo:Django admin - inline in linea (o, a tre la modifica del modello in una sola volta)
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()
e un admin.py che assomiglia a questo:
class LinkInline(admin.TabularInline):
model = Link
class LinkSectionInline(admin.TabularInline):
model = LinkSection
inlines = [ LinkInline, ]
class PageAdmin(admin.ModelAdmin):
inlines = [ LinkSectionInline, ]
Il mio obiettivo è ottenere un'interfaccia di amministrazione che mi permetta di modificare tutto su una pagina. Il risultato finale di questa struttura del modello è che le cose sono generati in una visione + modello che sembra più o meno come:
<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 %}
So che il trucco inline-in-un-linea non riesce a admin Django, come Mi aspettavo Qualcuno sa di un modo per consentire questo tipo di editing di modelli a tre livelli? Grazie in anticipo.
Potrebbe mostrare il codice finale con la soluzione che hai accettato? –