Django postStream的类型错误↵';布尔';对象不可编辑↵↵;请求方式:POST↵;要求

Django postStream的类型错误↵';布尔';对象不可编辑↵↵;请求方式:POST↵;要求,django,Django,我有下面的代码,希望返回id>jquery发布值的前1条记录 def postStream(request): post = PostEntry.objects.filter(id > request.POST['maxpostid'])[:1] response_text = serializers.serialize('json', [post,]) return HttpResponse(request.POST['maxpostid'], content_

我有下面的代码,希望返回id>jquery发布值的前1条记录

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中的类型错误↵'布尔对象是不可编辑的↵↵要求 方法:邮寄↵请求

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

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')

我做错了什么吗?

您应该在queryset中使用附录,而不是
签名。试试这个:

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

您应该在queryset中使用附录,而不是
签名。试试这个:

post = PostEntry.objects.filter(id__gt=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')
您需要在筛选器中使用=

检查更大

 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')

使用
\u gt
检查并使用
get
从POST数据中获取
maxpostid
。 另外,我认为您希望返回序列化数据:

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')

使用
\u gt
检查并使用
get
从POST数据中获取
maxpostid
。 另外,我认为您希望返回序列化数据:

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')

id是列名,当我用id_ugt替换它时,我在postStream中得到了一个错误AttributeError↵'QuerySet“object has no attribute”\u如果没有找到记录,是否需要将其替换为类似first或default的内容?有这样的选项吗?我是否需要删除first(),因为如果没有记录,这将导致崩溃found@Pankaj不,你没有。如果queryset为empty
first
将返回None。查看doc的这一部分:我正在尝试这样做
postRecords=PostEntry.objects.filter(id\u gt=id)if(postRecords.exists()):post=postRecords.first()其他:post=None
我是否缺少任何东西id是我用id\u gt替换它时的列名,我在postStream中得到了一个错误AttributeError↵'QuerySet“object has no attribute”\u如果没有找到记录,是否需要将其替换为类似first或default的内容?有这样的选项吗?我是否需要删除first(),因为如果没有记录,这将导致崩溃found@Pankaj不,你没有。如果queryset为empty
first
将返回None。查看doc的这一部分:我正在尝试这样做
postRecords=PostEntry.objects.filter(id\u gt=id)if(postRecords.exists()):post=postRecords.first()其他:post=None
我是否缺少任何东西id是我用id\u gt替换它时的列名,我在postStream中得到了一个错误AttributeError↵'QuerySet“object has no attribute”\u如果没有找到记录,是否需要将其替换为类似first或default的内容?有这样的选项吗?id是列名,当我用id_ugt替换它时,我在postStream中得到了一个错误AttributeError↵'QuerySet“object has no attribute”\u如果没有找到记录,是否需要将其替换为类似first或default的内容?有这样的选择吗?