Django Contenttypes
对于需要返回查询集的–写在
QuerySetModel
中
模型类中数据库处理的–写在
Models
中
业务相关逻辑的处理 — 写在
Views
中
记录 Django 项目中,所有模型类所属的应用,以及模型类的名字
- 对当前项目中所有给予 Django 驱动的 model,提供了更高层次的抽象接口(models.Model,models.py)
- 方便我们
动态调用模型类
- Django 权限管理中的 Permission 借助 ContentType 实现了对任意 models 的权限操作
GenericForeignKey
不支持使用on_delete
,默认就是删除级联
GenericRelation
- ContentType 的通用类型–
GenericRelation
(实现对所有模型类的关联操作)
业务场景
- 多个模型类需要使用同一功能
- 如:博客、文章、图片、想法、笔记,每个模型类里面都需要使用评论功能
ContentType 的巧妙用法
Timeline 设计
在首页展示不同模块的数据,按照时间排序
一般是使用个性推荐算法 ==> 不用用户在同一时间看到的数据是不一样的
评论区