0

私はPython 2.7でGoogle App Engineを使用しており、 https://github.com/GoogleCloudPlatform/appengine-paging-python/blob/master/suggest_cursor.pyにある例を再現して、ページ内のカーソルでページングを使用しようとしています( https://developers.google.com/appengine/articles/paging )

datamodel.py

class Feedback(db.Model):
    user = db.ReferenceProperty(User)
    subject = db.StringProperty()
    text = db.TextProperty(default='')
    created = db.DateTimeProperty(auto_now_add=True)

私のコードは静かに見えますが、エラーが発生します:

1)

query = datamodel.Feedback.all().order(-datamodel.Feedback.created)
TypeError: bad operand type for unary -: 'DateTimeProperty'

2) 削除 - query = datamodel.Feedback.all().order(datamodel.Feedback.created) 結果はこのエラーです

File "/python27_runtime/python27_lib/versions/1/google/appengine/ext/db/__init__.py", line 2614, in order
    if property.startswith('-'):
AttributeError: 'DateTimeProperty' object has no attribute 'startswith'

これが期待どおりに機能しない理由は何ですか?

4

1 に答える 1

1

ndbdbは完全に異なるモジュールです。ndbサンプルコードを使用して、dbで機能することを期待することはできません。

.order()呼び出しに、引用符で囲まれたプロパティ名を付ける必要があります。

query = datamodel.Feedback.all().order('-created')
于 2013-02-25T14:19:01.483 に答える