form
中的2个字段无法正常工作。我总共有大约10个字段,它们都可以工作但是那些没有。
这是forms.py
的一部分,其中的字段无效。
class AllTablesForm(forms.Form):
title = forms.CharField(label='', max_length=250, required=False,
widget=forms.TextInput(attrs={'placeholder': 'Title'}))
.......
redirectstatus = forms.IntegerField(label='', required=False,
widget=forms.TextInput(attrs={'placeholder': 'Redirect Status'}))
created_at = forms.DateTimeField(label='', required=False, input_formats=["%Y-%m-%d"],
widget=forms.TextInput(attrs={'placeholder': 'Created At'}))
redirectstatus
和created_at
无效。
我的日期格式是这样的。
在MySQL表中:
2017-09-27 13:03:49
当我在django打印出来时:
September 27, 2017 - 15:59:21
,重定向的格式很简单。
200
300
...
我想让created_at
类似于phpmyadmin日期搜索。
这是我的views.py
def search_form_table(request, pk):
table_name = Crawledtables.objects.get(id=pk)
t = create_model(table_name.name)
if request.method == 'GET':
form = AllTablesForm(request.GET)
if form.is_valid():
cd = form.cleaned_data
title = cd['title']
url = cd['url']
description = cd['description']
canonical = cd['canonical']
robots = cd['robots']
schematype = cd['schematype']
redirectstatus = cd['redirectstatus']
created_at = cd['created_at']
query = t.objects.filter(title__icontains=title,
url__icontains=url,
description__icontains=description,
canonical__icontains=canonical,
robots__icontains=robots,
schematype__icontains=schematype,
redirectstatus__exact=redirectstatus,
created_at__range=created_at)
return render(request, 'search/search_table.html', {'tbl_name': table_name,
'form': form,
'details': query,
'detail': True})
else:
form = AllTablesForm()
return render(request, 'search/search_table.html', {'form': form})
ADDED
如果我没有将created_at
放在过滤器中,只留下redirectstatus
并在重定向搜索中搜索200,则它不会给我任何内容,如果放created_at
在过滤器中它给我错误:
ValueError: Cannot use None as a query value