Tôi đã có một tập hợp các mô hình trông như thế này:Django admin - inlines inline (hoặc, ba mô hình chỉnh sửa cùng một lúc)
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()
và một admin.py trông như thế này:
class LinkInline(admin.TabularInline):
model = Link
class LinkSectionInline(admin.TabularInline):
model = LinkSection
inlines = [ LinkInline, ]
class PageAdmin(admin.ModelAdmin):
inlines = [ LinkSectionInline, ]
Mục tiêu của tôi là có giao diện quản trị cho phép tôi chỉnh sửa mọi thứ trên một trang. Kết quả cuối cùng của cấu trúc mô hình này là những thứ được tạo thành một cái nhìn + mẫu trông nhiều hơn hoặc ít hơn như:
<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 %}
Tôi biết rằng lừa inline-trong-một-inline thất bại trong admin Django, như Tôi mong đợi. Có ai biết cách để cho phép loại chỉnh sửa mô hình ba cấp này không? Cảm ơn trước.
Bạn có thể hiển thị mã cuối cùng của mình với giải pháp bạn đã chấp nhận không? –