Frage

Hallo, ich bin mit django app Engine Patch i gesetzt haben ein einfaches Modell wie folgt

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

i die folgenden Ansichten sind mit überprüfen, ob etwas, was in der Datenbank vorhanden ist und zur Datenbank

hinzufügen
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')

kann ich zur Datenbank hinzufügen, ohne Problem (wenn ich ein Intake.all().count() tue es erhöht), aber wenn ich überprüfe, ob der Schlüssel in der Datenbank vorhanden ist durch Filtern i eine Zählung von Null bin immer jemand eine Idee hat, warum ich nicht in der Lage bin zum filtern von Tasten?

War es hilfreich?

Lösung

Sie benötigen einen Raum zwischen dem Feldnamen und dem Bediener in Ihrem Filter Argument einzufügen - zB Verwendung .filter('intake =') statt .filter('intake='). Mit einer Gleichheit Filter, können Sie es auch ganz, wie es in .filter('intake') auslassen. Ohne den Raum, wird das Gleichheitszeichen genommen Teil des Feldnamens zu sein.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top