I've been getting this error using NDB on google app engine and python : Cannot repeat StructuredProperty None that has repeated properties of its own.
It's "None" because I get the error in the process of creating a new empty character so I can fill in properties after creation.
I'm guessing that it doesn't like that I want my entity "Character" to have a property "weaponList" that is repeated and structured containing another entity "Weapon" which also has a repeated, structured property containing and entity "curse".
Being in my 5th or so week at Udacity's cs253 with Steve Huffman, it seems I know just enough to be dangerous, so I thought I'd confirm that this is the issue, and hopefully get a better solution that achieves my goals.
Basically, I'm making a Dungeons and Dragons-ish character management system that has some GM/player realtime messaging and character sheet updating features that I thought would be of use to the growing number of google+ hangout RPG players out there. I have a list of weapons, items, curses, and magical effects all as separate entities so I can mix and match them at will.
Weapons and Items can have any number of curses or good magical effects. Characters can have any number of weapons, yadda yadda. At first, I thought storing a list of entity keys would be the way to go. Then I thought I'd have to individually get each weapon from the database, and each curse for each weapon... it seemed like an inefficient way to do it.
Plus, players and GMs love to customize things and this doesn't lend itself to that. So, it hit me, I can have a list of standard stuff in one table, and, when you "add" it to a character, it gets copied specifically to that character in a repeated structured property, and you can customize the hell out of it without affecting anyone else, or without me doing any extra work.
But it's not working, so I'm thinking it's not allowed because of the very possible, never ending lists in lists in lists that could result. What's the better way?