【问题标题】:Are nested inline forms possible in Django Admin models?Django Admin 模型中是否可以嵌套内联表单?
【发布时间】:2009-08-10 22:35:26
【问题描述】:

我正要问与this one 基本相同的问题。但是,由于没有人回答,我假设嵌套的内联表单是不可能的。

所以我只想问你如何在 Django 中设计这样的东西:

一家零售商销售服装。每件毛衣设计都有一个款式编号。这种款式有不同的面料和不同的颜色可供选择,因此您需要一个款式表和一个产品表来处理每种毛衣款式。 (例如,可能有蓝色 毛衣、蓝色 尼龙 毛衣、绿色棉 毛衣等...)这将包含一个外键分为Fabric TableColor Table

但我们需要图片!每个产品变体都可以有一张或多张图片。因此,我们将带有外键的 图像表 添加到产品表中。

如果没有嵌套内联,我能想到的在 CMS 中呈现这一点的唯一方法是让客户首先添加样式,以及内联的下级产品。然后完成后,打开产品表并允许内联图像上传。 (可能会取消直接添加产品的权限,这样他们只会编辑现有产品。)

但这有点笨拙,你不觉得吗?

欢迎提出想法。

【问题讨论】:

    标签: mysql django


    【解决方案1】:

    我会这样做的。

    一个模型包含顶级产品信息。然后有一个样式/颜色信息的相关表,称之为 ProductDetail - 它会有 Product、Style、Color 和 Fabric 的外键,加上一个图像,可能还有一个 SKU 字段。

    然后您的导入表单可以使用从 ProductDetail 到 Product 的 FK 来显示内联到主要产品的详细信息。然后,每一行都有一个样式、颜色和面料的下拉菜单,这些字段中的每一个都将使用 Django 的 FK 小部件从现有选项中进行选择或调用弹出窗口来添加新选项。然后图像字段就在每一行的选项旁边,因此特定于该单独的组合。

    这行得通吗?

    【讨论】:

    • 谢谢丹尼尔。我实际上就是这样做的:)不幸的是,我不得不放弃每个 ProductDetail 行能够容纳多张图片的要求。另外,我每行有 3 张图像:缩略图、普通和高分辨率。这会导致主要的水平滚动。
    猜你喜欢
    • 2023-03-20
    • 1970-01-01
    • 2013-11-10
    • 2019-07-29
    • 2011-06-17
    • 2017-10-26
    • 2012-04-19
    • 2011-07-11
    • 2022-06-25
    相关资源
    最近更新 更多