class form(forms.ModelForm):
def __init__(self, *args, **kwargs):
user = kwargs.pop('user')
u = User.objects.get(user=user)
super(form, self).__init__(*args, **kwargs)
self.fields['phone'].queryset = Phone.objects.filter(user=u)
class Meta:
model = MyModel
fields = ["name", "description", , "phone"]
此表單預先填充屬於當前登錄用戶的電話的現場電話。我使用{{form.as_p}}顯示了模板,但我不知道如何在html模板中手動顯示帶有預選手機名稱的字段。通過選擇多個Django中的表單域進行循環選擇
我嘗試下面的代碼片段作爲較大表格的一部分,但它沒有奏效。
<select multiple="multiple" id="id_phone" name="phone" required>
{% for p in phone %}
<option value="{{ p.id }}">{{ p.name }}</option>
{% endfor %}
</select>
此外,我怎樣才能讓用戶一次選擇多種手機與這種預填充方法。我試圖使用ModelMultipleChoiceField,但它不起作用。
爲什麼你需要表現出它手動?這是一個什麼樣的領域?當您嘗試使用ModelMultipleChoiceField時,什麼「不起作用」? –
我想手動完成它,以便我可以爲每個輸入和標籤分類,並且能夠按照我的需要進行設計。這是一個選擇字段,它有選項,用戶可以選擇他們想要添加的手機。當我試圖使用ModelMultipleChoiceField時,我只是無法弄清楚如何從self.fields ['phone']傳入queryset。queryset – thatguy