Вопрос

Привет! Я использую патч для движка приложения 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')

я могу добавить в базу данных без проблем (когда я делаю Intake.all (). count () , он увеличивается), но когда я проверяю, существует ли ключ в базе данных, фильтруя, я получить отсчет нуля кто-нибудь есть идеи, почему я не могу фильтровать по ключам?

Это было полезно?

Решение

Вам необходимо вставить пробел между именем поля и оператором в аргументах фильтра - например, используйте .filter ('потребление =') вместо .filter ('потребление = «) . С фильтром равенства вы также можете полностью его исключить, как в .filter ('потребление') . Без пробела знак равенства считается частью имени поля.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top