2

我正在使用 Django(我是新手)开发 Family Tree 网络应用程序,并且正在决定如何设计 FamilyTree 类,以便仅授权用户查看/编辑某些树。

就目前而言,我有两个抽象元类:实体和关系。

实体可以是一个人,甚至是一个组或事件。关系可以是父母、兄弟姐妹、合作伙伴等。

一个关系有“从”和“到”外键,每一个都映射到一个实体。因为我比这个建议更喜欢抽象:Family Tree Data Structure,所以我决定只将个人信息存储在 Entity 的 Person 子类中。通过“相关名称”访问关系。如果需要代码,请告诉我。我需要获得许可才能发布它。

似乎有两种设计 FamilyTree 类的通用方法:

  1. 从 FamilyTree 实例到所有实体或所有关系或两者的多对一关系。

  2. 与根实体或关系的 OneToOne 关系,在会话期间从中解压缩树的其余部分。

我没有想到第二种方法的任何缺点,这似乎会加快速度。

两者的优点/缺点以及您的个人选择将不胜感激。

还:

  • Django 特定的实现思路。
  • 也许仅基于 FamilyTrees 分配权限不是一个好主意?

提前致谢!

4

0 回答 0