values_list Django的表單驗證我有一個表格是這樣的:在ModelChoiceField
class SearchForm(forms.Form):
genus = forms.RegexField(
regex=r'^[a-zA-Z]+$',
required=False,
)
species = forms.RegexField(
regex=r'^[a-zA-Z]+$',
required=False,
)
island_group = forms.ModelChoiceField(
required=False,
queryset=Locality.objects.values_list('islandgroup', flat=True).distinct('islandgroup'),
現在,我的窗體上的island_group
現場驗證失敗,因爲我不返回模型對象。我需要返回values_list
以獲取不同的條目。這個表單還有一點,這就是爲什麼我不想使用模型表單。
我的問題是:什麼是讓我的表單驗證的最佳方式是什麼?
任何幫助非常感謝。
'islandgroup'是另一個模型嗎?爲什麼不將該模型用於查詢集?如果你只需要過濾實際的信息,你可以添加一些帶'Locality'計數的'annotate',並對它們進行過濾。 – ilvar 2012-04-20 03:57:46
表格實際上包含對應於幾種不同模型的字段。 iskandgroup是Locality模型中的一個字段。 – 2012-04-20 09:05:35
對於不返回「模型」對象的查詢集,您無法執行'ModelChoiceField'。因此,將其設置爲'islandgroup'模型的查詢集或使其成爲一個簡單的'ChoiceField'並在'clean_island_group()上檢索一個對象' – ilvar 2012-04-20 16:37:58