我正在嘗試爲我的django應用程序執行過濾器方法。我有一些像db,userName,指定,employeeID等字段。現在我正在嘗試做一個過濾;下拉列表顯示所有字段(姓名,指定,職員ID等)以及用於輸入一些文本的文本區域。過濾應根據下拉選項選擇和文本區域中輸入的數據完成。雖然這樣做我得到了這個錯誤:FieldError at/filter/ 無法將關鍵字'textField'解析爲字段。選擇是:contactNumber,dateOfJoin,指定,employeeID,id,項目,用戶名我將粘貼我的HTML和views.py在這裏。請幫我解決這個問題。在/處的FieldError。無法將關鍵字'textField'解析爲字段
<form action="http://10.1.0.90:8080/filter/" method="POST">
Filter By:
<select name="choices" onsubmit="document.forms[0].submit()" >
<option value="">Select A Choice</option>
<option value="Name">Name</option>
<option value="Designation" >Designation</option>
<option value="EmployeeID" >EmployeeID</option>
<option value="Project" >Project</option>
<option value="Date Of Join" >Date Of Join</option>
</select>
<input type="text" name="textField">
<input type="submit" value="Go">
</form>
{%for data in newData%}
{{ data.userName}}<br>
{%endfor%}
這是我VIEWS.PY
def filter(request):
val2=request.POST.get('choices')
val3=request.POST.get('textField')
print val2,val3
newData = EmployeeDetails.objects.filter(choices=request.POST.get('choices'),textField=request.POST.get('textField'))
return render_to_response('filter.html',{'newData':newData,'val2':val2,'val3':val3})
MODELS.PY
class EmployeeDetails(models.Model):
userName = models.CharField(max_length=200)
designation = models.CharField(max_length=200)
employeeID = models.IntegerField()
contactNumber = models.CharField(max_length=200)
project = models.CharField(max_length=200)
dateOfJoin=models.TextField()
我很新的Django的。請幫我解決這個問題
這並不完全清楚你想要做什麼。您的模型中似乎沒有名爲'textField'的字段,那麼您究竟想要過濾哪個字段?無論如何,這將有助於發佈模型代碼。 – 2011-03-03 11:27:42
你從哪裏獲得POST的'指定'的價值?我沒有在你的代碼中看到它。另外,你確定EmployeeDetails有一個名爲'textField'的字段(可能檢查大寫字母)? – gladysbixly 2011-03-03 11:27:46
感謝您的回覆..我用我的型號代碼更新了問題。我沒有名爲textField或選擇的模型中的字段。我在POST後獲取了變量選擇和textField中的過濾值。我怎樣才能讓它從我所有的分貝數據中過濾掉。 – 2011-03-03 11:37:53