2009-08-10 75 views
5

我正要问基本上和this one一样的问题。但是,由于没有人回答它,我会假定嵌套内联表单是不可能的。是否可以在Django Admin模型中嵌套嵌入式表单?

所以不是我就问,你会如何处理Django的设计是这样的:

零售商销售服装。每件毛衣设计都有款式编号。这种款式有不同的面料和不同的颜色,因此您需要款式表产品表来处理毛衣的各种变化。 (例如,有可能是一个蓝色毛衣,蓝色尼龙毛衣,绿色棉毛衣,等...),这将包含一个外键进入结构表颜色表

但是我们需要图片!每个产品变体可以有一个或多个图片。因此,我们添加一个图像表与产品表的外键。

如果没有嵌套内联,我可以考虑在CMS中展示这一点的唯一方法是让客户端首先添加一个样式,并与内联的下级产品一起添加样式。然后完成后,打开产品表并允许图像上传。 (也许删除直接添加产品的权限,以便他们只会编辑现有产品。)

但是,这是一种狂野,你不觉得?

想法欢迎。

回答

2

我会这样做。

一个模型包含顶级产品信息。然后为样式/颜色信息创建一个相关表格,称之为ProductDetail - 它将产品,样式,颜色和结构的外部关键字加上一个图像,可能还有一个SKU字段。

然后,您的导入表单可以使用从ProductDetail到产品的FK来显示主要产品的内联细节。然后,每行都有样式,颜色和结构的下拉列表,并且每个字段都使用Django的FK小部件从现有选项中进行选择或调用弹出框以添加新的选项。然后,图像字段就在每行的选项旁边,因此特定于该单独组合。

这是否行得通?

+0

谢谢丹尼尔。这就是我实际上做的:)不幸的是,我不得不放弃能够为每个ProductDetail行保存多个图片的需求。另外我每行有3个图像:缩略图,正常和高分辨率。这导致一个重大的水平滚动。 – joedevon 2009-08-11 15:57:52