2012-11-28 56 views
9

我需要一個Django Form字段這將採取字符串列表。Django Form字段的字符串列表

我將遍歷此列表併爲每個字符串創建一個新的模型對象。

我不能做一個型號選擇題場,因爲沒有經過表單提交,直到創建的模型對象,我不能做一個選擇題場,因爲我需要接受任意字符串,而不僅僅是一系列預先定義的選項。

任何人都知道如何做到這一點?

回答

0

我想出了一個解決方案 - 一個小黑客,但它現在工作。

抓住表單數據後,我藏列表中的變量:
event_locations = form_data.get('event_locations', None)

然後我從form_data刪除它,所以Django表單從來沒有得到的名單:

if event_locations: 
    del form_data['event_locations'] 

我實例我的形式與form_data,並單獨處理列表:

f = NewEventForm(form_data) 
... 
for loc in event_locations: 
    #create new models here 

我意識到這並不直接ly解決了我問的問題,因爲我們還沒有一個Django表單字段獲取列表,但是它是一種將列表傳遞給具有表單並能夠處理它的視圖的方法。

5

只需使用由逗號分隔的常規文本字段。在視圖中處理表單提交之後,根據該字段進行逗號字符串拆分。然後遍歷每一個創建和保存一個新模型。不應該太難。

+0

我考慮過這個問題,但在我的API中,這與慣例會有很大的差距。 –

相關問題