喵喵CRM数据表关系
喵喵CRM数据表关系

喵喵CRM数据表关系

目前喵喵CRM已经大概有四个模块了,用户、权限、客户、项目(咳咳,虽然模块都还很粗糙,但是你就说能不能用吧),为了后续的进一步拓展以及优化,今天简单梳理下后端数据库之间的关联。

简单看下目前数据库内已有的表:

  • 权限管理相关的:auth_group、auth_group_permissions、auth_permission、auth_user、auth_user_groups、auth_user_user_permissions、django_content_type。
  • 用户相关的:auth_user。
  • 客户相关的:customer_customer。
  • 项目相关的:project_activity、project_project、project_projectstage。
  • 其他。

权限表是基于Django自带的,所以会比较全面细致。

  • auth_group(组):id-主键、name-unique。
  • auth_user(用户):id-主键、password、last_login、is_superuser、username-unique、first_name、last_name、email、is_staff、is_active、date_joined。
  • auth_permission(权限):id-主键、name、content_type_id-外键、codename,content_type_id和codename组合无重复。
  • auth_group_permissions(组-权限关联表):id-主键、group_id-外键、permission_id-外键,group_id和permission_id组合无重复。
  • auth_user_groups(用户-组关联表):id-主键、user_id-外键、group_id-外键,user_id和group_id组合无重复。
  • auth_user_user_permissions(用户-权限关联表):id-主键、user_id-外键、permission_id-外键,user_id和permission_id组合无重复。
  • django_content_type(app和数据模型):id-主键、app_label、model,app_label和model组合无重复。

用户表:

  • auth_user(用户):id-主键、password、last_login、is_superuser、username-unique、first_name、last_name、email、is_staff、is_active、date_joined。

客户表:

  • customer:id-主键、name、email、phone、address、created_at、updated_at、owner_id-外键。

项目表:

  • project_activity:id-主键、activity_type(Django里设置了可选项)、description、activity_date、created_at、updated_at、created_by_id-外键、project_id-外键。
  • project_project:id-主键、name、source、description、expected_revenue、expected_close_date、actual_close_date、actual_revenue、created_at、updated_at、customer_id-外键、owner_id-外键、current_stage_id-外键。
  • project_projectstage:id-主键、name-unique、order-unique、description。order大于零。

简单梳理下:

唔,似乎还能再优化,不过貌似就复杂了,比如客户和活动记录关系、客户分区域一类的细化……不管了,就这样吧,懒。

不过一些地方似乎可以增加索引,提升效率。查询用户处于某个阶段的项目、某个客户特定阶段的项目、某个项目截止日期等等。不过似乎还要再前端增加筛选……再说吧。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注