gpt4 book ai didi

google-app-engine - NDB 中的一对多示例

转载 作者:太空宇宙 更新时间:2023-11-03 15:21:36 24 4
gpt4 key购买 nike

我正在尝试创建像 Students 和 subjects 这样的 ndb.Model 类

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

class Student(ndb.Model):
name = ndb.StringProperty()
subject = ndb.KeyProperty(kind=Subject)

一个学生可以拥有多个科目。如何在此模型中添加和存储这些。我找不到任何例子。对于字符串属性 .. 有字段属性,即 repeat=true

如何实现这一点,网络上是否有任何工作示例。对不起,如果这是重复的问题,但我尝试以我有限的技能搜索这个论坛。

最佳答案

当我需要一对多时,我会使用重复的 keyProperties。代码:

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

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

模板:

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

ndb 是 nosql,因此您不会在子项中找到对父项的引用。但是,您可以这样添加它。在创建新主题时不要忘记设置学生键值。

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)

关于google-app-engine - NDB 中的一对多示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10077300/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com