Relaciones del motor de aplicaciones de Google

Estoy tratando de relacionar a mis modelos usando ReferenceProperty, pero no tengo mucha suerte. Tengo 3 niveles: Grupo, Tema, luego Pros y Contras. Como en un grupo, hay muchos temas, y dentro de cada tema puede haber muchos pros y contras.

Puedo almacenar nuevos grupos de forma agradable, pero no tengo idea de cómo almacenar los temas debajo de estos grupos. Quiero enlazar desde una página con un enlace "Nuevo tema" debajo de cada grupo, que los lleva a un formulario simple (1 campo por ahora). Obviamente, la URL deberá tener algún tipo de referencia al ID del grupo o algo así.

Aquí están mis modelos:

class Groups(db.Model):

    group_user = db.UserProperty()
    group_name = db.StringProperty(multiline=True)
    group_date = db.DateTimeProperty(auto_now_add=True)


class Topics(db.Model):

    topic_user = db.UserProperty()
    topic_name = db.StringProperty(multiline=True)
    topic_date = db.DateTimeProperty(auto_now_add=True)
    topic_group = db.ReferenceProperty(Groups, collection_name='topics')

class Pro(db.Model):

    pro_user = db.UserProperty()
    pro_content = db.StringProperty(multiline=True)
    pro_date = db.IntegerProperty(default=0)
    pro_topic = db.ReferenceProperty(Topics, collection_name='pros')    

class Con(db.Model):

    con_user = db.UserProperty()
    con_content = db.StringProperty(multiline=True)
    con_date = db.IntegerProperty(default=0)
    con_topic = db.ReferenceProperty(Topics, collection_name='cons')    

Y una de las funciones de la página real, quiero mostrar la lista de Grupos y, a continuación, debajo de sus temas:

class Summary(webapp.RequestHandler):
    def get(self):

        groups_query = Groups.all()
        groups = groups_query.fetch(1000)
        template_values = {

            'groups': groups,           
        }

        path = os.path.join(os.path.dirname(__file__), 'summary.html')
        self.response.out.write(template.render(path, template_values))

Y finalmente el html:

<html>
  <body>
    <a href="/newgroup">New Group</a>
    <br>
    {% for group in groups %}

    <font size="24">{{ group.group_name|escape }}</font><br> by <b>{{ group.group_user }}</b> at <b>{{ group.group_date }}</b> {{ group.raw_id }}
    <br>
    <a href="/newtopic?id={{group.key.id}}" >New topice </a>
    <br>
    <blockquote>
        {{ topics.topics_name }}
    </blockquote>


    {% endfor %}
  </body>
</html>

Respuestas a la pregunta(4)

Su respuesta a la pregunta