में कई से अधिक रिश्ते ndb के साथ कई से अधिक रिश्तों को मॉडल करने का प्रयास कर रहे हैं। क्या कोई ऐसा करने के लिए एक अच्छा उदाहरण बता सकता है?ndb
class Person(ndb.Model):
guilds = ndb.KeyProperty(kind="Guild", repeated=True)
class Guild(ndb.Model)
members = ndb.KeyProperty(kind="Person", repeated=True)
def add_person(self, person):
self.members.append(person.key)
self.put()
person.guilds.append(self.key)
person.put()
इस इसके बारे में जाने के लिए सही तरीका है:
यहाँ पर मैं क्या पल में है का एक उदाहरण है? मेरे पास चारों ओर अच्छा लगा है लेकिन इस विषय पर कोई अच्छा दस्तावेज नहीं दिख रहा है।
डेटास्टोर दर्शक में, मैं देख सकता हूं कि यह रिश्ते कुंजी की एक सूची के रूप में संग्रहीत किया जा रहा है, जो मुझे उम्मीद है।
हालांकि, जब मैं उन्हें इस तरह व्यक्ति वर्ग के तरीकों में इस्तेमाल करने की कोशिश:
for guild in self.guilds:
मैं:
TypeError: 'KeyProperty' object is not iterable
'स्वयं के लिए गिल्ड इन गिल्ड' काम करना चाहिए। अगर आप व्यक्ति में 'दोहराया = सही' डालते हैं तो दोबारा जांचें: 'गिल्ड्स = ndb.KeyProperty (दयालु = "गिल्ड", दोहराया = सही) ' –
ध्यान दें कि दोहराए गए गुणों के साथ प्राप्त किए जा सकने वाले रिश्तों की संख्या के लिए ऊपरी सीमा है । यदि आपको कई हज़ारों या उससे अधिक लोगों की ज़रूरत है, तो कई रिश्तों के लिए बहुत से लोग हैं, या आपको अपने रिश्तों को नाम देने की जरूरत है, तो एक मध्यवर्ती इकाई जिसमें रिश्तों के प्रत्येक छोर को इंगित करने वाली प्रत्येक दो प्रमुखप्रोर्टीजियां भी काम करती हैं, लेकिन यह आमतौर पर कम कुशल होती है और आपके पास हो सकता है अगर आपको अतिरिक्त लुकअप से बचने के लिए सारांश दृश्यों की आवश्यकता है तो इस इकाई में कुछ अनावश्यक जानकारी स्टोर करने के लिए। –