2012-07-21 8 views
10

में गिनती द्वारा दोहराई गई संपत्ति की पूछताछ क्या एनडीबी में दोहराई गई संपत्ति में वस्तुओं की संख्या से पूछताछ के लिए एक कुशल तंत्र है?एनडीबी

मैं की तरह कुछ करने के लिए करना चाहते हैं:

Class.query(class.repeated_property.count == 2) 

लेकिन निश्चित रूप से यह काम नहीं करता।

उत्तर

25

विशेष रूप से, आप गणना को स्वचालित रूप से संग्रहीत करने के लिए ComputedProperty का उपयोग कर सकते हैं, उदा।

class X(ndb.Model): 
    prop = ndb.StringProperty(repeated=True) 
    prop_count = ndb.ComputedProperty(lambda e: len(e.prop)) 

X.query(X.prop_count == 2) 
3

जीक्यूएल में कोई लेन क्वेरी अर्थपूर्ण नहीं है, आपको सूची की लंबाई और इसके बारे में पूछताछ के लिए एक अलग संपत्ति की आवश्यकता होगी।

संबंधित मुद्दे