質問

こんにちは、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')のように完全に除外することもできます。スペースがない場合、等号はフィールド名の一部と見なされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top