代码之家  ›  专栏  ›  技术社区  ›  Pankaj

postStream'bool'对象处的TypeError不是iterableRequest方法:POSTRequest

  •  0
  • Pankaj  · 技术社区  · 8 年前

    我有以下代码,预计将返回前1条记录,其中id>jquery过帐值。

    def postStream(request):
        post = PostEntry.objects.filter(id > request.POST['maxpostid'])[:1]
    
        response_text = serializers.serialize('json', [post,])
        return HttpResponse(request.POST['maxpostid'], content_type='application/json')
    

    由于某种原因,它给出了以下错误。

    postStream'bool'对象处的TypeError不是iterableRequest 方法:POST–†µRequest

    我可以确认 request.POST['maxpostid'] 正在给出预期值。

    我做错什么了吗?

    3 回复  |  直到 8 年前
        1
  •  2
  •   neverwalkaloner    8 年前

    而不是 > 您应该使用的标志 __gt queryset中的附录。尝试以下操作:

    post = PostEntry.objects.filter(id__gt=request.POST['maxpostid']).first()
    
        2
  •  1
  •   Exprator    8 年前
     post = PostEntry.objects.filter(id = request.POST['maxpostid']).first()
    

    您需要在筛选器中使用=

    检查更大的

     post = PostEntry.objects.filter(id__gt = request.POST['maxpostid']).first()
    

    并将数据发送到html

    response_text = serializers.serialize('json', [post,])
    return HttpResponse(response_text , content_type='application/json')
    
        3
  •  0
  •   Ibrohim Ermatov    8 年前

    使用 __gt 检查和使用 get 得到 maxpostid 来自POST数据。 此外,我认为您希望返回序列化数据:

    post = PostEntry.objects.filter(id__gt=request.POST.get('maxpostid')).first()
    
    data = serializers.serialize('json', [post,], fields=('id',))
    
    return HttpResponse(data, content_type='application/json')