2012-08-01 79 views
0

我在我的django應用程序中有幾個需要支持附件的表單。每個表單實例可以有任意數量的附件,包括無。我想介紹一個基於jQuery的上傳小部件來管理這些上傳,允許上傳異步處理。附件存儲在他們自己的模型中,因此從附件模型到需要附件的每個模型都有多對多的附件。當成功上傳並處理附件時,處理上傳的視圖將返回附件模型中的標識,然後將其插入到表單上的隱藏字段中。我目前正在試圖決定如何最好地在表單中表示這一點。隱藏選擇多個項目Django

一種方法是隻需要一個隱藏的輸入,它需要用逗號分隔的id列表。然後這將需要相當多的手動處理和提交驗證,我不禁感到可以避免。

在其他地方,我使用了一個HiddenInput作爲單個值,我正在做類似的事情,並在窗體中動態添加項目到相關模型。然而,我不能看到我如何能夠通過一個簡單的外鍵直接將它擴展到多對多。

任何人都可以建議最好的方式去做這件事?

回答

0

嘗試使用formsetsmodel_formsets創建用於創建/編輯多個對象的表單,也可以使用javascript在瀏覽器中動態添加表單。

+0

我不認爲一個formset會在這裏幫助,我的問題是沒有添加上傳表單,而是將返回的數據傳回原始表單。 – TimD 2012-08-01 16:07:53

+1

沒有任何東西禁止你使用通過form,modelform,modelformset,formset獲得的數據。閱讀forms/modelforms文檔。你有什麼嘗試?將當前代碼附加到問題可能會更有用。 – machaku 2012-08-01 16:18:34