Python模型带有自我引用列表

2024-04-24 19:05:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我想这样做:

class Author(db.Model):
    influencedBy = db.ListProperty(db.SelfReferenceProperty())
    influenced = db.ListProperty(db.SelfReferenceProperty())

我知道我可以用self.author\u集为了得到相反的关系,我需要向infected和influencedBy添加多个Author对象。你知道吗


Tags: 对象selfdbmodel关系classauthorlistproperty
1条回答
网友
1楼 · 发布于 2024-04-24 19:05:33

不幸的是你不能按你的建议做。正如您可能已经意识到的,您将得到ValueError: Item type ReferenceProperty is not acceptable

你可以做influencedBy = db.ListProperty(db.Key) 或者如果您使用ndb influencedBy = ndb.KeyProperty(kind=Author,repeated=True)

需要考虑的一点是influencedByinfluenced中可能有多少成员。如果可能存在大量数据,则可能会遇到实体大小问题。如果这是一种可能性,那么你需要考虑使用一个单独的实体来记录影响。你知道吗

相关问题 更多 >