crm作业知识点集合[一]
- 作者: 五速梦信息网
- 时间: 2026年04月04日 13:46
知识点1
1、当我们通过model建立一对多或者多对多的关系的时候,默认情况下,会关联所有的字段,如果我们使用djanog的forms的话,可以加一个属性,限制我这个字段只关联哪些字段,就是用下面的写法
重点是这里,limit_choices_to

看下具体的效果
userinfo表里本来有9条数据



但是由于我们做了限制,所以我们这里只能看到我们限制的数据


知识点2
2、在list_play的列表中定义我们我们的函数
首先需要在表的配置类中写一个函数,这里写函数的意思就是,每加一个函数,就会在当前的表中加一列,当然我们没加一列,都需要有一个table_head和table_body,所以我们需要在一个函数中处理
先看下我们的函数是怎么写的,当然写好函数后,也需要在list_display中添加一列,这个函数的header参数代表的意思就是如果为true,那么这一列就是取头部,如果不是true,则这一列就是取具体的内容
然后我们看下代码是怎么处理我们自定义函数的,由于我们把显示相关的信息全部放在showlist这个类中,这个类中分别有get_head和get_body两个函数,我们分别看这2个函数
先看get_header函数

在看下get_body函数

页面的效果如下

知识点3
如果我们的model是下面这样设计的
重点是看这里

我们这里注册上面这种表
那么我们如果要显示这样的字段,页面会是什么效果呢?

这里显示的1,而不是我们期望的男或者女,那么这个该如何处理呢? 这里可以这样处理,这里有一个新的知识点
如果类似上面的字段会有下面这个方法
下面这个字符串是一对一的

打印的结果如下

打印obj.gender这个是打印的gender字段的k值,打印obj.get_gender_display是打印gender这个字段的v值
页面的效果如下

知识点4
如何为某张表单独添加一条url
比如下面的例子,我们要实现这么一个效果,在客户表中,展示每个客户咨询的课程,客户和课程之间的关系是多对多的关系,大家也许回想,多对多的字段的展示,我们的组件不是已经实现了吗,还算什么知识点呢?我们这里的需求不一样,下面具体看下

昨天是默认的展示形式,我们实际想展示右边的形式,那么很简单,我们只需要自定义一列就可以了,加一个函数
在客户表的配置类里自定义一个函数,这里,我们把每个咨询的课程显示为一个a标签,这里还为这个a标签添加了一个href的属性,至于这个url为何这样设计,是根据我们的需求来的,我们期望点击某个课程的a标签,就会把这个客户咨询的这个课程取消掉,所以我们在每个a标签的url必须要有客户的id和课程的id,所以我们的url是这样设计的

然后在list_display这个列表中添加这个函数
下面才是我们的重头戏。我们要实现点击这个a标签,就把客户咨询的对应的课程取消掉
所以我们需要单独为客户表扩展一个url
我们现在客户表的配置类里定义一个这样的函数,先添加一条url的函数

然后在我们之前生成增删改查4个url的地方就是Starkclass这个类中添加这个url

当然我们也需要在Starkclass中定义一个extra_url这个函数,因为万一用户没有表对配置类中加一个函数,那么代码就会报错

最后就是定义我这个url对应的视图函数了,这个也在客户表的配置类中定义

这个点还是比较复杂的,其实使用的方法和我们的list_diplay的思路是一样的,大家需要好好整理一下
- 上一篇: cropper初始图像容器的比例
- 下一篇: CRL快速开发框架系列教程十三(嵌套查询)
相关文章
-
cropper初始图像容器的比例
cropper初始图像容器的比例
- 互联网
- 2026年04月04日
-
CRT 导出 SSH 密钥
CRT 导出 SSH 密钥
- 互联网
- 2026年04月04日
-
Crypto入门 (五)混合编码
Crypto入门 (五)混合编码
- 互联网
- 2026年04月04日
-
CRL快速开发框架系列教程十三(嵌套查询)
CRL快速开发框架系列教程十三(嵌套查询)
- 互联网
- 2026年04月04日
-
cream 的qsqrt 及其原理
cream 的qsqrt 及其原理
- 互联网
- 2026年04月04日
-
CPU核心态和用户态 核心空间与用户空间
CPU核心态和用户态 核心空间与用户空间
- 互联网
- 2026年04月04日






