首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django ValidationError (日期)

Django ValidationError (日期)
EN

Stack Overflow用户
提问于 2016-02-10 19:16:30
回答 1查看 168关注 0票数 0

我有一个带有搜索框的系统,可以搜索和显示订单。

我通过使系统按开始日期到结束日期进行搜索或通过使用select标签进行搜索来自定义搜索。

目前,我按开始-结束日期进行搜索,它是有效的,但如果我从select标记中进行搜索和选择,我会得到一个错误,即:

代码语言:javascript
复制
[u"'' value has an invalid format. It must be in YYYY-MM-DD HH:MM[:ss[.uuuuuu]][TZ] format."]

这是我的views.py

代码语言:javascript
复制
def search_form(request):

    data = OrderItem.objects.order_by().values_list('certification_type', flat=True).distinct()
    print data

    if request.method == 'GET':
        user_search = request.GET.get('searched_item')
        print "What is searched for is : ", user_search

        selected_tag = request.GET.get('certification_type')
        print "The selected certificate type is :", selected_tag

        start_date = request.GET.get('first_date')
        print "The start date is : ", start_date

        end_date = request.GET.get('second_date')
        print "The end date is : ", end_date


        if (user_search != None and selected_tag !=None) | (user_search != None and start_date != None and end_date != None):
            items = OrderItem.objects.filter(Q(certification_type__iexact=selected_tag) | (Q(created_on__range=(start_date , end_date))) , (Q(order_type__iexact= user_search) | Q(item__iexact= user_search)
                 | Q(certification_no__iexact= user_search) | Q(client__user__email__iexact= user_search) | Q(client__phone_number__iexact= user_search) | Q(id__iexact= user_search)))


            print "items  ",  items
            return render(request, 'i/search_results.html', {'items':items, 'user_search_query':user_search, 'selected_tag_query': selected_tag, "data":data})

        else:
            return render(request, 'i/dashboard.html', {'error':True,  "data":data})

    else:
        return render(request, 'i/dashboard.html', {'error':True,  "data":data})

    return render(request, 'i/search_results.html', {'items':items, 'user_search_query':user_search, 'selected_tag_query': selected_tag, "data":data})

错误指向以下代码行:

代码语言:javascript
复制
if (user_search != None and selected_tag !=None) | (user_search != None and start_date != None and end_date != None):
    items = OrderItem.objects.filter(Q(certification_type__iexact=selected_tag) | (Q(created_on__range=(start_date , end_date))) , (Q(order_type__iexact= user_search) | Q(item__iexact= user_search) | Q(certification_no__iexact= user_search) | Q(client__user__email__iexact= user_search) | Q(client__phone_number__iexact= user_search) | Q(id__iexact= user_search)))

我很困惑,不知道我做错了什么

EN

回答 1

Stack Overflow用户

发布于 2016-02-10 19:31:08

您应该在if条件中使用or运算符,而不是|,它是一个按位运算符:

代码语言:javascript
复制
if (user_search != None and selected_tag !=None) or (user_search != None and start_date != None and end_date != None):
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35313672

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档