запрос к базе данных движка приложения появляется пустым - PullRequest
1 голос
/ 03 апреля 2011

У меня есть проблема с хранилищем данных движка приложений. В интерактивной консоли я всегда не получаю сущностей, когда спрашиваю, существует ли URL в моей БД. Когда я выполняю следующий код ....

from google.appengine.ext import db    
class shortURL(db.Model):
    url = db.TextProperty()
    date = db.DateTimeProperty(auto_now_add=True)
q = shortURL.all()
#q.filter("url =", "httphello")
print q.count()
for item in q:
    print item.url

я получаю этот ответ, что хорошо

6
httphello 
www.boston.com
http://www.boston.com 
httphello
www.boston.com 
http://www.boston.com

Но когда я раскомментирую строку "q.filter (" url = "," httphello ")", я вообще не получаю никаких сущностей (ответ 0). Я знаю, это что-то очень простое, но я просто не могу этого увидеть! помощь.

Ответы [ 2 ]

1 голос
/ 03 апреля 2011

TextProperty значения не индексируются и не могут использоваться в фильтрах или в порядках сортировки.
Возможно, вы захотите попробовать StringProperty , если вам не нужно более 500 символов.

0 голосов
/ 03 апреля 2011

Я думаю, что .fetch () отсутствует.Вы можете сделать выборку, прежде чем делать какие-либо манипуляции с моделью.

Также.Я не думаю, что вам нужен db.TextProperty () для этого, вы можете использовать db.StringProperty ().

...