我正在尝试为我的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