2009-08-10 45 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