문제

안녕하세요 저는 Django App Engine 패치를 사용하고 있습니다. 다음과 같이 간단한 모델을 설정했습니다.

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