जब मैं डेटासंग्रह तारीख मैं निम्नलिखित त्रुटि मिलती द्वारा आदेश दिया पर एक प्रश्न चलाने का प्रयास:GAE डेटास्टोर से पूछताछ करते समय अनुक्रमणिका त्रुटि को कैसे ठीक किया जाए?
NeedIndexError: no matching index found.
The suggested index for this query is:
- kind: Message
properties:
- name: author
- name: ref
- name: date
क्वेरी त्रुटि के बिना चलाता है अगर मैं दिनांक के आधार पर ऑर्डर करने के लिए कोशिश मत करो। डाटास्टोर इंडेक्स के तहत एपेंगेन कंसोल का कहना है:
author ▲ , ref ▲ , date ▼
Serving
मैं क्या गलत कर रहा हूं? मैं अपनी क्वेरी को तिथि के अनुसार आदेश कैसे चला सकता हूं? धन्यवाद!
यहाँ मेरी इकाई परिभाषा है:
from google.appengine.ext import ndb
class Message(ndb.Model):
subject = ndb.StringProperty()
body = ndb.TextProperty()
date = ndb.DateTimeProperty(auto_now_add=True)
ref = ndb.StringProperty(required=True)
author = ndb.KeyProperty(required=True)
और इस क्वेरी कि विफल रहता है:
def readMessages(ref, user = None):
query = Message.query()
query = query.filter(Message.ref == ref)
if user:
query = query.filter(Message.author == user.key)
query = query.order(Message.date)
# convert to a list so we can index like an array
return [ message for message in query ]
मेरे index.yaml शामिल हैं:
indexes:
- kind: Message
properties:
- name: author
- name: ref
- name: date
direction: desc
धन्यवाद। असल में, मैं अपनी अनुक्रमणिका परिभाषा की आखिरी पंक्ति की प्रतिलिपि बनाना भूल गया।ऐप इंजन कंसोल इंगित करता है कि इंडेक्स को ▲, लेखक ▲, दिनांक ▼ के रूप में बनाया गया है। तो मुझे नहीं लगता कि यह मेरी समस्या है, लेकिन मैंने प्रश्न में इंडेक्स परिभाषा को अद्यतन किया है। – deltanine