One-To-Many Example in NDB

后端 未结 4 2025
囚心锁ツ
囚心锁ツ 2021-01-12 08:22

I am trying to create ndb.Model class like Students and subjects

class Subject(ndb.Model):
     name = ndb.StringProperty()

class Student(ndb.Model):
    na         


        
4条回答
  •  甜味超标
    2021-01-12 09:08

    When I need 1 to many I use repeated keyProperties. Code:

    class Subject(ndb.Model):
         name = ndb.StringProperty()
    
    class Student(ndb.Model):
        name = ndb.StringProperty()
        subjects = ndb.KeyProperty(kind='Subject', repeated=True)
    

    template:

    {% for subject in student.subjects %}
      {{subject.get().name}}
    {% endfor %}
    

    ndb is nosql so you will not find reference to the parent in the child. However, you could add it like that. Don't forget to set student key value when creating a new subject.

    class Subject(ndb.Model):
         name = ndb.StringProperty()
         student = ndb.KeyProperty(kind='Student')
    
    class Student(ndb.Model):
        name = ndb.StringProperty()
        subjects = ndb.KeyProperty(kind='Subject', repeated=True)
    

提交回复
热议问题