मैं डेटास्टोर द्वारा निर्दिष्ट आईडी का उपयोग करके कुंजी द्वारा एक इकाई को लोड करने का प्रयास कर रहा हूं लेकिन मुझे ऐसा करने के लिए कोई एपीआई विधि नहीं दिख रही है (एनडीबी का उपयोग करके)। मैंने सोचा कि मैं एक पूर्णांक आईडी से कुंजी बनाने में सक्षम हूं और इकाई लोड करने के लिए key.get() का उपयोग कर सकता हूं, लेकिन मुझे सिर्फ एक आईडी से कुंजी बनाने का कोई तरीका नहीं दिख रहा है। मुझे संदेह है कि मैं यहां कुछ स्पष्ट याद कर रहा हूं। मुझे एक इकाई को कैसे लोड करना चाहिए जहां मुझे केवल इसकी आईडी पता है?ऐप इंजन एनडीबी - आईडी का उपयोग करके कुंजी द्वारा इकाई को कैसे लोड करें?
उत्तर
YourModel.get_by_id()
आईडी द्वारा मॉडल उदाहरण प्राप्त करता है।
डॉक्स:
https://developers.google.com/appengine/docs/python/ndb/modelclass#Model_get_by_id
नहीं लगता है कि तुम तरह जानने के बिना आईडी के आधार पर एक इकाई नहीं मिल सकता है क्योंकि अलग अलग मॉडल वर्गों के उदाहरण एक ही आईडी हो सकता है/KEY_NAME
एक और रास्ता: ndb.Key(YourModel, id).get()
।
एनडीबी में मॉडल मॉडल के हिस्से के रूप में अपने मुख्य प्रकार को परिभाषित नहीं करते हैं। यह निफ्टी है कि आपके पास एक मॉडल प्रकार दिया जा सकता है जो कई अलग-अलग प्रकार की चाबियों और माता-पिता के माध्यम से सुलभ है, जो उन्हें अधिक लचीला बनाता है। लेकिन यह कुछ हद तक समस्याग्रस्त है क्योंकि यह हमेशा स्पष्ट नहीं होता कि कुंजी क्या दर्शाती है या कहां से आती है।
मामलों में जहां केवल किसी खास मॉडल के लिए कुंजी के एक तरह (लगभग है जो हर मॉडल) है, मुझे लगता है कि कुंजी है, जो अर्थ स्पष्टता का एक सा कहते हैं पैदा करने के लिए एक वर्ग विधि बनाना चाहते मेंतो :
class Book(ndb.Model):
title = ndb.StringProperty()
pages = ndb.IntegerProperty()
@classmethod
def make_key(cls, isbn):
return ndb.Key(cls, isbn)
b = Book.make_key('1234-5678').get()
निश्चित रूप से जोड़ा गया कोड कड़ाई से जरूरी नहीं है, लेकिन यह स्पष्टता जोड़ता है और मेरे मॉडल को अधिक दीर्घकालिक बनाए रखने योग्य बनाता है।
- 1. ऐप इंजन एनडीबी में डेटटाइमप्रोपर्टी का परीक्षण कैसे करें?
- 2. ऐप इंजन, पायथन: आईडी द्वारा क्वेरी कैसे फ़िल्टर करें?
- 3. एनडीबी क्वेरी लंबाई प्राप्त करें - Google ऐप इंजन
- 4. ऐप इंजन पर getObjectsById
- 5. ऐप इंजन पहचानकर्ता। कुंजी बनाम क्रमांक
- 6. उदाहरण के लिए एनडीबी प्रक्षेपण कुंजी या आईडी
- 7. पायथन एनडीबी
- 8. एनडीबी
- 9. सार्वजनिक कुंजी का उपयोग करके एन्क्रिप्ट कैसे करें?
- 10. Google ऐप इंजन डेटास्टोर से इकाई को कैसे हटाएं?
- 11. यूजर ऐप इंजन इंजन का उपयोग करने के लिए
- 12. Google ऐप इंजन पर सत्र का उपयोग कैसे करें
- 13. Google ऐप इंजन और कुंजी-मूल्य स्टोर
- 14. ऐप इंजन
- 15. Google ऐप इंजन: क्वेरी जो पाइथन
- 16. ओडीटा यूआरएल में समग्र पहचान कुंजी का उपयोग करने वाली इकाई को कैसे संबोधित करें?
- 17. ऐप इंजन
- 18. मोंगोडीबी के लिए आधिकारिक सी # चालक का उपयोग करके 'आईडी' द्वारा 'दस्तावेज़' को कैसे हटाया जाए?
- 19. ऐप इंजन
- 20. व्यवस्थापक में विदेशी कुंजी आईडी द्वारा खोजें
- 21. PyOpenSSL का उपयोग करके सार्वजनिक कुंजी कैसे प्राप्त करें?
- 22. कोडइग्निटर का उपयोग करके एक और डेटाबेस कैसे लोड करें?
- 23. Google App Engine (पायथन) एनडीबी/डेटास्टोर में बाल इकाई से मूल इकाई से कैसे पूछें?
- 24. रेल इंजन/बीज का उपयोग कैसे करें?
- 25. फोनगैप ऐप में jquerymobile का उपयोग करके गतिशील रूप से पाद लेख टैब कैसे लोड करें?
- 26. इंजन से रेल ऐप मार्गों को ओवरराइड कैसे करें?
- 27. ऐप इंजन एनडीबी मॉडल के लिए key_name निर्दिष्ट करने का सबसे अच्छा तरीका क्या है?
- 28. आईडी() द्वारा ऑब्जेक्ट प्राप्त करें?
- 29. गूगल ऐप इंजन में डीबी और एनडीबी के पेशेवरों और विपक्ष
- 30. एनडीबी
धन्यवाद, यह वही है जो मैं ढूंढ रहा था। निश्चित नहीं है कि मैंने दस्तावेज़ों में इसे कैसे याद किया। – user605331
मुझे लगता है कि दस्तावेज़ गलत हैं, मैं इसे मेरे जीवन के लिए काम नहीं कर सका, लेकिन फिर मैंने देखा कि मैं एक स्ट्र में गुजर रहा था ताकि लंबी आईडी को चाल में घुमाया जा सके, हालांकि दस्तावेज़ आपको ले जाते हैं मान लीजिए कि आप एक स्ट्र का उपयोग कर सकते हैं जो कम से कम स्थानीय देव ऐप सर्वर ऐप इंजन संस्करण 1.8.9 पर सही नहीं है। एक बार जब मैंने int (id_str) किया तो यह ठीक काम करता था। – Shaun
@ शुन मुझे नहीं लगता कि दस्तावेज़ गलत हैं। यदि आपकी आईडी एक 'int' है तो आपको' int' में गुजरना होगा और यदि यह 'str' है तो उसे' str' होना चाहिए। – aschmid00