gpt4 book ai didi

python - 使用 Django 进行 App Engine 模型过滤

转载 作者:行者123 更新时间:2023-12-01 06:18:44 24 4
gpt4 key购买 nike

嗨,我正在使用 django 应用程序引擎补丁,我已经设置了一个简单的模型,如下

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

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

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() 时,它会增加),但是当我通过过滤检查数据库中是否存在 key 时,我是计数为零有人知道为什么我无法按键过滤吗?

最佳答案

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

关于python - 使用 Django 进行 App Engine 模型过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1807545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com