正如所說的標題。我不明白爲什麼ModelSorm for classeur中的過濾器不起作用。它返回數據庫的所有列(在關聯表單中),就像我編寫Classeur.objects.all()一樣。django modelForm過濾器無效?
型號:
class Document(models.Model):
classeur = models.ForeignKey(Classeur, verbose_name=u"classeur", null=True)
#some other attribute
class Classeur(models.Model):
type_classeur = models.ForeignKey(TypeClasseur)
#some other attribute
的ModelForm:
class DocumentFidsourceForm(forms.ModelForm):
classeur = Classeur.objects.filter(type_classeur=1).order_by('rang')
#some piece of code
class Meta:
model = Document
Views.py:
form = DocumentFidsourceForm()
return render_to_response('documents/createDoc.html',
{'form': form,
#other param}
模板:
<table align="center" cellspacing="5" class="table_form">
<tr>
<td class="label">{{form.classeur.label|safe}} : </td>
<td class="box">{{form.classeur}}</td>
對於上下文,我有一個模型Classeur與許多attribut和約4000條目在數據庫中。運行django 1.6
當我在db上做了如下選擇時,我有15個結果(「好」結果)。
Select * from classeur where type_classeur_id = 1
所以答案可能是:我不能在modelForm中對Classeur進行過濾(假設我可以)。
在django 1.6中有一些隱藏的東西,它將我的過濾器轉換爲顯示所有的值並讓用戶選擇(當您選擇〜4000值但機器爲nervermind時,這非常尷尬)。
我做了一些愚蠢的事情(目前正試圖發展一個1.1到1.6的django網站)。
Thinqs for your light。