from mptt.models import TreeForeignKey
发布日期:2021-06-29 04:55:57
浏览次数:2
分类:技术文章
本文共 1479 字,大约阅读时间需要 4 分钟。
from mptt.models import TreeForeignKey,一看就懂。
什么是django-mptt?
django-mptt是一个可复用的django app, 旨在让你自己的django项目模型使用MPTT更加简单。它负责将数据库表作为树型结构管理的详细信息,并提供用于处理树型模型实例的工具
安装和文档
pip install django-mptt
这里我给大家看一下我实战的代码块
from mptt.models import MPTTModelfrom mptt.models import TreeForeignKey#1.类别表class Classify(MPTTModel): name = models.CharField(max_length=50,verbose_name='类别名称') parent = TreeForeignKey('self', on_delete=models.CASCADE, null=True, blank=True, related_name='classify_key',verbose_name='自关联外键') #注意这里的字段名称parent 大家如果按我下面的方法进行添加数据的话,一定不要改 pic = models.CharField(max_length=300,verbose_name='类型图片',null=True,blank=True) class Meta: db_table = 'classify' verbose_name = "类别表" verbose_name_plural = "类别表"
其实这个就是一个自关联外键,主要用来区别分类等级。如果听不懂我给我大家看一下我加入数据之中的表结构就懂了。
MPTTMeta参数
下面我介绍的字段都是自动生成的字段
1、“parent_id”。将模型关联回自身的字段的名称,这样每个实例都可以是另一个实例的子实例。用户需要在模型上定义此字段如上示例的parent字段
2、“lft”。表示树型模型字段左边的节点数字,字段类型为PositiveIntegerField
3、“rght”。表示树型模型字段右边的节点数字,字段类型为PositiveIntegerField
4、“tree_id”。表示包含每个节点的树ID的字段的名称
5、“level”。表示每个节点所在的树形结构的层级
---------------------------------------------------------------
下面我给大家说一下加数据时注意的事情
class AddClassify(APIView): def post(self,request): name = request.data.get('name') #分类名称 parent_id = request.data.get('parent_id') #关联上一级分类ID Classify.objects.create(name=name,parent_id=parent_id) return Response({ '成功'})
这里我使用的postman进行接口传输数据
我这里只添加到二级分类,如果你需要添加三级分类,那么你在加数据时就需要将parent_id改为二级分类的ID了。
转载地址:https://blog.csdn.net/Zhang_chao_CSDN/article/details/108446637 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
第一次来,支持一个
[***.219.124.196]2024年04月03日 00时09分13秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Spring中 JavaConfig和常见注解
2019-04-29
SpringBoot启动类注解简要介绍
2019-04-29
Spring Boot扩展启动行为-改变启动Banner
2019-04-29
如何通过设置setting加快Maven 及更新SpringBoot项目的速度
2019-04-29
如何设置Spring Boot热部署
2019-04-29
Spring Boot整合Web开发-JSON
2019-04-29
Spring Boot整合Web开发-如何集合模板Thymeleaf?
2019-04-29
Spring Boot整合Web开发-freemarker
2019-04-29
Spring Boot整合Web开发之如何集成JSP
2019-04-29
全局异常处理之自定义全局错误页面、404及500错误页面
2019-04-29
全局异常处理之@ControllerAdvice+@ExceptionHandler
2019-04-29
全局异常处理之SimpleMappingExceptionResolver
2019-04-29
全局异常处理之如何使用HandlerExceptionResolver接口
2019-04-29
【Neuralink 与大脑的神奇未来】Part 2:大脑
2019-04-29
【Neuralink 与大脑的神奇未来】Part 3:脑机接口
2019-04-29
【Neuralink 与大脑的神奇未来】Part 4:Neuralink 的挑战
2019-04-29
【Neuralink 与大脑的神奇未来】Part 5:巫师时代
2019-04-29
【Neuralink与大脑的神奇未来】Part 6:大融合
2019-04-29
人工智能革命(上):通往超级智能之路
2019-04-29