GAE db.ReferenceProperty 自引用

发布于 2024-10-10 05:25:15 字数 877 浏览 4 评论 0原文

是否可以通过 db.ReferenceProperty 引用 self,是否可以构造一个列表?

例如,我有一个 User 类,我想要为他/她的朋友提供一个引用 User 类的属性?

我目前正在使用Python。

编辑:

所以如果我有这个类:

class Node(db.Model):
    name = db.StringProperty(required=True)
    neighbour = db.SelfReferenceProperty(collection_name="neighbours")

node1 = Node(name="node1")
node2 = Node(name="node2")
node1.neighbour = node2
node2.neighbour = node1
node1.put()
node2.put()

我可以通过 node1.neighboursnode2.neighbours 访问其他节点的列表吗?

或者我应该这样做:

class Node(db.Model):
    name = db.StringProperty(required=True)
    neighbour = db.ListProperty(Node)

node1 = Node(name="node1")
node2 = Node(name="node2")
node1.node = [node2]
node2.neighbour = [node1]
node1.put()
node2.put()

另外,我如何能够添加/删除/修改上面两个示例中的邻居列表?

谢谢

Is it possible to reference self via the db.ReferenceProperty, and is it possible to construct a list?

For example I have a class for User and I want a property for his/her friends that references the User class?

I'm currently using Python.

Edit:

So if I have this class:

class Node(db.Model):
    name = db.StringProperty(required=True)
    neighbour = db.SelfReferenceProperty(collection_name="neighbours")

node1 = Node(name="node1")
node2 = Node(name="node2")
node1.neighbour = node2
node2.neighbour = node1
node1.put()
node2.put()

can I access a list of other nodes via node1.neighbours and node2.neighbours?

Or should I do this:

class Node(db.Model):
    name = db.StringProperty(required=True)
    neighbour = db.ListProperty(Node)

node1 = Node(name="node1")
node2 = Node(name="node2")
node1.node = [node2]
node2.neighbour = [node1]
node1.put()
node2.put()

Also how would I be able to add/delete/modify the list of neighbours in both examples above?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

风筝在阴天搁浅。 2024-10-17 05:25:15

class SelfReferenceProperty(verbose_name=,collection_name=,...)

对同一类的另一个模型实例的引用。请参阅参考属性

值类型:db.Key (参见上文

Yes.

class SelfReferenceProperty(verbose_name=None, collection_name=None, ...)

A reference to another model instance of the same class. See ReferenceProperty.

Value type: db.Key (see above)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文