全部,Modelchoicefield Queryset Confusion
我是新來的Django,迄今爲止一直做得不錯,但這一次讓我難住。我正在嘗試使用ModelChoiceField來處理多個具有相同名稱的記錄。我使用的是Postgresql,所以我可以確定我需要使用獨特的命令,而且這個工作正常。我的下拉列表中的記錄全部被精簡爲每個記錄的一個版本。但是,當我嘗試獲取特定記錄的所有版本時,這就是我迷失的地方。如果我不通過DetailView使用不同的分辨率,我可以獲得每條記錄的詳細信息,但我真的試圖在模型選項字段後的屏幕上獲取每條記錄的所有版本。
這裏是我的形式:
class History(forms.Form):
dropdown = forms.ModelChoiceField(queryset=History.objects.all())
def __init__(self, user, *args, **kwargs):
super(History, self).__init__(*args, **kwargs)
self.fields['dropdown'].widget.attrs['class'] = 'choices1'
self.fields['dropdown'].empty_label = ''
qs = History.objects.all().distinct('record_name')
self.fields['dropdown'].queryset = qs
我最終想獲得一個視圖在屏幕上查詢集通過我的模板。我已經嘗試了模板中的幾個不同版本的代碼,但似乎沒有任何工作。如果我不使用明確的CBV DetailView,我可以使用詳細視圖獲取所有記錄。但是,這不是我想要做的。我在模板中使用了幾個版本的queryset命令,因爲我發現了幾個與我的類似的問題,但似乎無法使其工作。我發現幾個類似的參考:
{% for record in form.history.field.queryset %}
etc.
{% endfor %}
但似乎無法讓它在我的Django模板中工作。任何和所有的幫助表示讚賞!先謝謝你!
,那麼它是關於顯示數據記錄取決於你的下拉框的當前值? –
@Max M是的,這就是我想要做的,獲取用戶從下拉框中選擇的值,然後在下一個屏幕上顯示所有具有相同名稱的記錄。 –