- 根据需求功能抽象角色
- 比如贴吧
- 根据角色定表间关系:方法
- 双向找关系
- 合并关系
例子: 人发帖 角色: 人 帖子 关系: 人————>帖子 : 1————>n (一个人可以发多个帖子) 人<————帖子 : 1<————1 (一个帖子属于一个人) 合并关系: 1<————n (帖子为主表,所以为多对1) ForeignKey 例二: 人回帖(人对帖子发评论) 角色:人 帖子 评论 关系: 人————>帖子 : 1————>n (一个人可以发多个帖子) 人<————帖子 : 1<————1 (一个帖子属于一个人) 合并关系: 1<————n (帖子为主表,所以为多对1) ForeignKey(user) 人————>评论 : 1————>n (一个人可以发多个评论) 人<————评论 : 1<————1 (一个评论只能是一个人发的) 合并关系: 1<————n (评论为主表,所以为多对1) ForeignKey(user) 帖子————>评论 : 1————>n (一个帖子可以有多个评论) 帖子<————评论 : 1<————1 (一个评论只能属于一个帖子) 合并关系: 1————>n (帖子为主表,所以为多对1) ManyToMany(comment)
-
分析主表(根据逻辑,谁相对重要,谁就是主表),见上面:
-
表间关系及字段
-
1对n ForeignKey
-
1对1 OneToOneField
-
n对1 ForeignKey
-
n对n ManyToManyField
-