2012-03-29 9 views
9

के बराबर समतुल्य (पिछली संदर्भ वाली संपत्ति) Google App Engine's NDB में समकक्ष है?Google App Engine ndb modelname_set (बैकरेफरेंस प्रॉपर्टी)

वर्ष डीबी में एक मॉडल इकाई described the back-reference property as था:

बैक संदर्भ संपत्ति चूक के नाम (छोटे अक्षरों में मॉडल वर्ग के नाम के साथ modelname_set के लिए, और "_set" को जोड़ा गया अंत), और contextProperty कन्स्ट्रक्टर को collection_name तर्क का उपयोग करके समायोजित किया जा सकता है।

मैंने देखा कि यह संपत्ति एनडीबी db.Model उदाहरणों के साथ मौजूद नहीं प्रतीत होती है।

क्या एनडीबी के पीछे संदर्भ संपत्ति के बराबर है?

उत्तर

13

एनडीबी में कोई प्रत्यक्ष बैक-रेफरेंस गुण नहीं है क्योंकि एनडीबी मूल डेटास्टोर क्लाइंट के समान प्रतिमान का उपयोग नहीं करता है। आप अपने आगे के संदर्भ के लिए एक कीप्रोपर्टी का उपयोग करेंगे और फिर उन सभी चीज़ों के लिए एक क्वेरी का उपयोग करें जिनके पास आपके बैक संदर्भ के लिए कीपप्रॉपर्टी सेट है।

class Comment(ndb.Model) 
    source = ndb.KeyProperty() 

qry = Comment.query().filter(source=ndb.Key('Source', 'Sandy')) 
+0

धन्यवाद माइकल। बस जिज्ञासा, आपके उदाहरण में 'सैंडी' का क्या उद्देश्य है? –

+2

'सैंडी' कुंजी की केवल (उपयोगकर्ता द्वारा निर्दिष्ट) आईडी है, जैसे कि 'स्रोत' दयालु है। –