12

मेरा प्रश्न बहुत मौलिक है, मैं ऐप इंजन पायथन में किसी बच्चे से मूल इकाई के गुण मानों तक पहुंचने के लिए सीधे आगे और सही तरीका जानना चाहता हूं। उदाहरण के लिए मेरे पास निम्नलिखित मॉडल स्कीमा है। मैं पायथन 2.7 और एनडीबी का उपयोग कर रहा हूँ।Google App Engine (पायथन) एनडीबी/डेटास्टोर में बाल इकाई से मूल इकाई से कैसे पूछें?

class Gallery(ndb.Model): 
    category = ndb.StringProperty() 
    title  = ndb.StringProperty() 
    subtitle = ndb.StringProperty() 

class Image(ndb.Model): 
    blob_key = ndb.BlobKeyProperty() 
    title  = ndb.StringProperty() 
    gallery  = ndb.StringProperty() 
    is_slider = ndb.StringProperty() 

यहां "गैलरी" "छवि" का अभिभावक है। वे एक इकाई समूह प्रदर्शनी => गैलरी => छवि बनाते हैं। मैं छवि मॉडल से छवियों को गैलरी विवरण के साथ प्रदर्शित करना चाहता हूं। मैं अभिभावक (गैलरी से छवि) से बाल इकाई तक पहुंच सकता हूं लेकिन इसके विपरीत नहीं। मैं गैलरी मॉडल में स्ट्रक्चरर्डप्रोपर्टी के रूप में छवि मॉडल का उपयोग नहीं करना चाहता हूं। मैं गैलरी की तुलना में अन्य झंडे के आधार पर सभी छवियों से अधिकांश छवियों को प्रदर्शित कर रहा हूं (एक स्थिति is_slider = "yes" अगर सभी छवियों से एक स्लाइड शो उत्पन्न कर रही है। इसलिए छवि से सीधे पूछताछ करें) लेकिन फिर भी संबंधित गैलरी की जानकारी प्रदर्शित करना चाहते हैं मैं जानना चाहता हूं कि अभिभावक डेटा तक कैसे पहुंचना है।

मुझे लगता है कि यह एक बहुत ही सामान्य समस्या है और कुछ जटिल तर्क के साथ इकाई समूह और क्वेरी गैलरी मॉडल के शीर्ष पर जाने के बजाय माता-पिता की सीधी पहुंच जैसे सरल समाधान की तलाश में है। किसी भी मदद की सराहना की है।

उत्तर

29

उपयोग: image_instance.key.parent().get()

https://developers.google.com/appengine/docs/python/ndb/keyclass#Key_parent

+0

धन्यवाद Mjibson। यह वही है जो मैं याद कर रहा था। – fusionstrings

+0

टेम्पलेट लूप के अंदर इसका उपयोग कैसे करें (जब लूप छवि उदाहरण पर है)? मैं जिन्जा 2 का उपयोग कर रहा हूं। – fusionstrings

+1

यदि आपके कोई प्रश्न है, तो एक प्रश्न पूछें, एक टिप्पणी के रूप में पोस्ट न करें। – mjibson