J'ai un ensemble de modèles qui ressemblent à ceci:Django admin - inline en ligne (ou trois édition de modèle à la fois)
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()
et un admin.py qui ressemble à ceci:
class LinkInline(admin.TabularInline):
model = Link
class LinkSectionInline(admin.TabularInline):
model = LinkSection
inlines = [ LinkInline, ]
class PageAdmin(admin.ModelAdmin):
inlines = [ LinkSectionInline, ]
Mon but est d'obtenir une interface d'administration qui me permet de tout modifier sur une seule page. Le résultat final de cette structure du modèle est que les choses sont générées en vue + modèle qui ressemble plus ou moins comme:
<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 %}
Je sais que la ligne en une-ligne truc échoue dans l'admin Django, comme J'esperais. Est-ce que quelqu'un sait d'une façon de permettre ce genre d'édition de modèle à trois niveaux? Merci d'avance.
Pourriez-vous montrer votre code avec la solution que vous avez acceptée? –