DjangoによるApp Engineモデルのフィルタリング
-
05-07-2019 - |
質問
こんにちは、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']
次のビューを使用して、データベースに何かが存在するかどうかを確認し、データベースに追加しています
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')
iはデータベースに問題なく追加できます( Intake.all()。count()
を実行すると増加します)が、フィルタリングによってデータベースにキーが存在するかどうかを確認するとゼロのカウントを取得するには、キーでフィルタリングできない理由がありますか?
解決
フィールド名とフィルター引数の演算子の間にスペースを挿入する必要があります。たとえば、 .filter( 'intake =の代わりに
。等式フィルターを使用すると、 .filter(' intake = ')
を使用します') .filter( 'intake')
のように完全に除外することもできます。スペースがない場合、等号はフィールド名の一部と見なされます。
所属していません StackOverflow