您好我正在使用django app引擎补丁我已经设置了一个简单的模型如下

class Intake(db.Model):
    intake=db.StringProperty(multiline=False, required=True)
    #@permerlink 
    def get_absolute_url(self):
       return "/timekeeper/%s/" % self.intake
    class Meta:
       db_table = "Intake"
       verbose_name_plural = "Intakes"
       ordering = ['intake']

我正在使用以下视图来检查数据库中是否存在某些内容并添加到数据库

from ragendja.template import render_to_response
from django.http import HttpResponse, Http404
from google.appengine.ext import db
from timekeeper.forms import *
from timekeeper.models import *

def checkintake(request, key):
    intake = Intake.all().filter('intake=',key).count()
    if intake<1:
       return HttpResponse('ok')
    else:
       return HttpResponse('Exist in database')

def addintake(request,key):
    if Intake.all().filter('intake=',key).count()>1:
        return HttpResponse('Item already Exist in Database')
    else:
        data = Intake(intake=cleaned_data[key])
        data.put()
        return HttpResponse('Ok')

我可以添加到数据库没有问题(当我做 Intake.all()。count()它增加)但当我通过过滤检查数据库中是否存在密钥我是得到零的数量任何人都知道为什么我不能用键过滤?

有帮助吗?

解决方案

您需要在过滤器参数中的字段名称和运算符之间插入一个空格 - 例如,使用 .filter('intake =')而不是 .filter('intake = “)。使用相等过滤器,您也可以完全不使用它,如 .filter('intake')。没有空格,等号将被视为字段名称的一部分。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top