5

这甚至可能吗?

我需要存储一些要作为 json/rest 检索的文档。

ADocument有 many Sections,section 有标题、正文和 many Images

有没有办法可以用这种结构制作表格?

Publication
|-- Section
    |-- Image
    |-- Image
|-- Section
    |-- Image
|-- Section
    |-- Image
    |-- Image
    |-- Image

我的模型:

class Publication(models.Model):
    title = models.CharField(max_length=64)

class Section(models.Model):
    publication = models.ForeignKey(Publication)
    heading = models.CharField(max_length=128)
    body = models.TextField()

class Image(models.Model):
    section = models.ForeignKey(Section)
    image = models.ImageField(upload_to='images/')
    caption = models.CharField(max_length=64, blank=True)
    alt_text = models.CharField(max_length=64)

Image当与 相关时,我可以相对容易地做到这一点Publication,因为只有一层嵌套。

但是,何时Image属于Section,我不确定如何构建表单。似乎没有简单的方法可以使用内联表单集来做到这一点。

任何人都可以帮忙吗?

4

1 回答 1

6

这不能在香草 Django 中完成。我为此使用了django-nested-inlines并且效果很好。

from django.contrib import admin
from nested_inlines.admin import NestedModelAdmin, NestedTabularInline

from my.models import Publication, Section, Image


class ImageInline(NestedTabularInline):
    model = Image


class SectionInline(NestedTabularInline):
    model = Section
    inlines = [ImageInline,]


class PublicationAdmin(NestedModelAdmin):
    inlines = [SectionInline,]


admin.site.register(Publication, PublicationAdmin)
于 2013-09-16T13:28:40.373 回答