पर एक से अधिक कुंजी बनाम कुंजी की सूचीप्रॉपर्टी एक काल्पनिक उदाहरण के रूप में, मेरे पास एक मॉडल टोडोइटम और मॉडल टोडोलिस्ट है। एक TodoList के पास TodoItems की एक आदेशित सूची है, और कोई भी TodoItem किसी भी संख्या में TodoLists (कई से कई) से संबंधित हो सकता है। TodoList में TodoItem के आदेश के अलावा अन्य संबंधों को उनके संबंधों के बारे में संग्रहीत करने की आवश्यकता नहीं है। डेटा स्टोर में इसका प्रतिनिधित्व करने का सबसे अच्छा तरीका क्या है?ऐप इंजन
इस लागू करने के लिए दो तरीके हैं - TodoList वर्ग db.Key के एक ListProperty जो TodoItem के लिए संदर्भित करेंगे दे:
class TodoList(db.Model):
items = db.ListProperty(db.Key)
या एक ListItem मॉडल है कि यह भी आदेश देने में जानकारी शामिल हैं:
class TodoListItem(db.Model):
item = db.ReferenceProperty(TodoItem)
list = db.ReferenceProperty(TodoList)
order = db.IntegerProperty()
मैं निश्चित रूप से मॉडल को denormalizing करके इसे अनुकूलित कर रहा हूं, लेकिन पूर्व-अनुकूलन, क्या किसी एक प्रतिनिधित्व का दूसरे पर लाभ होता है?