1

アプリ エンジンのデータストアにこの問題があります。インタラクティブ コンソールで、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)。私はそれが非常に単純なことを知っていますが、私はそれを見ることができません! ヘルプ。

4

2 に答える 2

1

TextProperty値はインデックス化されていないため、フィルターや並べ替え順序では使用できません。500 文字を超える必要がない場合は、 StringProperty
を試してみてください。

于 2011-04-03T12:42:13.353 に答える
0

.fetch() が欠落していると思います。モデルを操作する前にフェッチを行うことができます。

また。これには db.TextProperty() は必要ないと思います。db.StringProperty() を使用できます。

于 2011-04-03T07:22:22.100 に答える