您好我正在使用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()
它增加)但当我通过过滤检查数据库中是否存在密钥我得到零计数任何人都知道为什么我无法按键过滤?
答案 0 :(得分:2)
您需要在过滤器参数中的字段名称和运算符之间插入一个空格 - 例如,使用.filter('intake =')
而不是.filter('intake=')
。使用相等过滤器,您也可以将其完全保留,如.filter('intake')
中所示。没有空格,等号将被视为字段名称的一部分。