我正在为一个国际大品牌设计一个 g+ 应用程序。我需要创建的实体几乎都是图的形式,因此有很多多对多关系(弧)连接可以双向遍历的节点。我正在在线阅读所有可读的文档,但到目前为止我还没有找到任何特定于 ndb 设计最佳实践和指南的内容。不幸的是,我处于保密协议下,无法透露该应用程序的详细信息,但它几乎可以一对一地匹配科学会议的背景与会议记录、作者、论文和主题。
在目前设想的实体列表下方(上下文转移以匹配所提到的主题):
- 组织(例如 acm)
- 会议(例如 acm 多媒体)
- 会议问题(例如 acm 多媒体 13)
- 会议轨道(如nosql、机器学习、计算机视觉等)
- 作者(例如我自己)
- 论文(例如“为 ndb 设计类似 db 的图形”)
如您所见,我可以通过任何方向(或方面,从前端的角度)访问和遍历图形:
- 作者与合著者
- 会议轨道的作者
- 会议轨道到论文
- ...
依此类推,您填写列表。
我想让它直截了当,因为它会启动很多公关,并且需要在内容和用户数量方面持续不断地扩展。我想从头开始编写代码,因此设计我自己的模型,restful api 来读取/写入这些数据,避免非 rel django 并将表示层保持在最小的模板机制。我需要与我工作的公司核实,但我们也许可以使用体面的开源许可证发布部分代码(理想情况下,为 ndb 模型提供宁静的服务)。
如果有人能指出我正确的方向,那就太棒了。
谢谢!托马斯
[编辑:更正与多对多关系相关的错字]