Google App Engine ReferenceProperty-Beziehungen

Ich versuche, meine Modelle mit ReferenceProperty in Beziehung zu setzen, habe aber nicht viel Glück. Ich habe 3 Ebenen: Gruppe, Thema, dann Vor- und Nachteile. Wie in einer Gruppe gibt es viele Themen, und in jedem Thema können sich viele Vor- und Nachteile befinden.

Ich kann neue Gruppen schön und gut speichern, aber ich habe keine Ahnung, wie Themen unter diesen Gruppen gespeichert werden sollen. Ich möchte von einer Seite mit einem Link "Neues Thema" unter jeder Gruppe einen Link erstellen, der sie zu einem einfachen Formular führt (1 Feld für den Moment). Offensichtlich muss die URL einen Verweis auf die ID der Gruppe haben oder so.

Hier sind meine Modelle:

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')    

Und eine Funktion für die aktuelle Seite möchte ich die Liste der Gruppen und dann unter deren Themen anzeigen:

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))

Und zum Schluss das 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>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage