我需要一個Django Form字段這將採取字符串列表。Django Form字段的字符串列表
我將遍歷此列表併爲每個字符串創建一個新的模型對象。
我不能做一個型號選擇題場,因爲沒有經過表單提交,直到創建的模型對象,我不能做一個選擇題場,因爲我需要接受任意字符串,而不僅僅是一系列預先定義的選項。
任何人都知道如何做到這一點?
我需要一個Django Form字段這將採取字符串列表。Django Form字段的字符串列表
我將遍歷此列表併爲每個字符串創建一個新的模型對象。
我不能做一個型號選擇題場,因爲沒有經過表單提交,直到創建的模型對象,我不能做一個選擇題場,因爲我需要接受任意字符串,而不僅僅是一系列預先定義的選項。
任何人都知道如何做到這一點?
我想出了一個解決方案 - 一個小黑客,但它現在工作。
抓住表單數據後,我藏列表中的變量:
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表單字段獲取列表,但是它是一種將列表傳遞給具有表單並能夠處理它的視圖的方法。
只需使用由逗號分隔的常規文本字段。在視圖中處理表單提交之後,根據該字段進行逗號字符串拆分。然後遍歷每一個創建和保存一個新模型。不應該太難。
我考慮過這個問題,但在我的API中,這與慣例會有很大的差距。 –