django - 总结 - CRM - 知识点
1、扩展auth_user
from django.contrib.auth.models import User,AbstractUser
class UserInfo(AbstractUser):
tel = models.CharField(max_length=32) setting配置
AUTH_USER_MODEL = 'app01.UserInfo'
1.根据str,拿字段对象,取中文
val = self.model._meta.get_field(field).verbose_name 2.模型名称,app名称
model_name = self.model._meta.model_name
app_lable = self.model._meta.app_label 3.判断是否可调用
if callable(field):
val = field(self, header = True) 4.字符串找对象得属性,反射
val = getattr(data, field) 5.返回标签
from django.utils.safestring import mark_safe
return mark_safe("<input id='choice' type='checkbox'>") 6.插入数组[]
temp.append(ModelStark.checkbox)
temp.extend(self.list_display) 7.反向解析,含正则
_url = reverse("%s_%s_delete" % (app_label, model_name), args=(obj.pk,))
_url = reverse("%s_%s_add" % (app_label, model_name)) 8.复选框
$('#choice').click(function () {
if($(this).prop('checked')){
$('.choice_item').prop('checked',true)
}else{
$('.choice_item').prop('checked',false)
}
})
1.判断用户是否配置,配置才显示search框, get查询
search_fields = ['title', 'price'] 显示key_words{{ showlist.config.key_words }}
{% if showlist.config.search_fields %}
<form action="" class="pull-right">
<input type="text" name="q" value="{{ showlist.config.key_words }}">
<button>submit</button>
</form>
{% endif %} 2.Q对象
# 获取search得Q对象
search_connection = self.get_search_condition(request) # print("connection:",search_connection)
# connection: (or: ('title__contains', '3'), ('price__contains', '3')) # 筛选当前表得所有数据
data_list = self.model.objects.all().filter(search_connection) 3.Q查询
两种方式,一种可以放str,就是下面这种,一种放字段; def get_search_condition(self, request):
key_words = request.GET.get('q', "")
self.key_words = key_words # self.search_fields ['title','price'] from django.db.models import Q
search_connection = Q()
if key_words:
search_connection.connector = "or"
for search_field in self.search_fields:
search_connection.children.append((search_field+"__contains", key_words)) return search_connection 4.模糊查询
(title__contains)(price__contains)
search_connection.children.append((search_field+"__contains", key_words))
django - 总结 - CRM - 知识点的更多相关文章
- Django之CRM项目Day5-跳转页面 跟进记录 报名记录
		1 编辑和添加后跳转页面: 思路:写一个参数将路径的条件带上 注意:捋流程的时候从urls里开始 1.在crm文件夹下新建python包:templatetags,在包里新建url.py: from ... 
- Django之CRM项目Day3-客户展示及分页
		1.展示客户 模板的查找顺序:  先找全局的templates--> 按照app的注册顺序找templates中的文件 使用admin添加数据: 创建超级用户 python manage.py ... 
- Django项目——CRM
		一.开发背景 由于公司人员的增多,原来通过excel表格存取方式过于繁琐,而且对于公司人员的调配和绩效考核等不能做到精确处理,所以开发crm系统,开始开发只是针对销售人员和客户,后面陆续加上一些操作, ... 
- Django之crm
		crm注册 crm注册Form from django import forms from crm import models from django.core.exceptions import V ... 
- Django 实现CRM 问卷调查功能组件
		目录结构: 母版 {% load staticfiles %} <!DOCTYPE html> <html lang="zh-CN"> <head&g ... 
- 使用Django完成CRM管理系统
		CRM介绍: CRM即客户关系管理,是指企业用CRM技术来管理与客户之间的关系.在不同场合下,CRM可能是一个管理学术语,可能是一个软件系统.通常所指的CRM,指用计算机自动化分析销售.市场营销.客户 ... 
- Django 项目CRM总结
		0. 项目说明: 1. 销售自动分配客户资源: 给销售分配权重及承单数量,创建权重表,通过销售权重进行从大到小进行排序 以承单数循环添加到列表,承单数是多少列表添加就添加多少次 考虑到如果服务重启,或 ... 
- CRM知识点汇总(未完💩💩💩💩💩)
		一:项目中每个类的作用 StarkSite 对照admin中的AdminSite,相当于一个容器,用来存放类与类之间的关系. 先实例化对象,然后执行该对象的register方法.将注册类添加到_reg ... 
- django学习过程中知识点小结
		创建项目:django-admin startproject mysite 该命令将会创建一个名为mysite的项目. mysite/ manage.py mysite/ __init__.py se ... 
随机推荐
- LeetCode算法题-Longest Harmonious Subsequence(Java实现)
			这是悦乐书的第270次更新,第284篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第136题(顺位题号是594).我们定义一个和谐数组是一个数组,其最大值和最小值之间的差 ... 
- 交替方向乘子法(ADMM)
			交替方向乘子法(ADMM) 参考1 参考2 经典的ADMM算法适用于求解如下2-block的凸优化问题( 是最优值,令 表示一组最优解): Block指我们可以将决策域分块,分成两组变量, 这里面 都 ... 
- WIN提权总结【本地存档-转载】
			[ web提权 ] 1.能不能执行cmd就看这个命令:net user,net不行就用net1,再不行就上传一个net到可写可读目录,执行/c c:\windows\temp\cookies\net1 ... 
- Java学习笔记记录(一)
			1.Java编写的一个基本结构 1 public class demo{ //以下包含权限修饰符.静态修饰符.返回值修饰符以及主方法main() 2 public static void main(S ... 
- 关于Eclipse的版本、分支、衍生版本
			Eclipse 简介: Eclipse的历史: Eclipse的发布版本: Eclipse分支: 关于不同分支版本的区别,点击链接: http://www.eclipse.org/downloads/ ... 
- VS2017 安装Swagger初步认识
			1.安装NuGet包 2.配置 3.运行测试 参考博客:https://www.cnblogs.com/yilezhu/p/9241261.html 一 安装NuGet包 包名:Swashbuckle ... 
- spring boot整合mybatis基于注解开发以及动态sql的使用
			让我们回忆一下上篇博客中mybatis是怎样发挥它的作用的,主要是三类文件,第一mapper接口,第二xml文件,第三全局配置文件(application.properties),而今天我们就是来简化 ... 
- JSOI2019 Round2 极限生还
			江苏省省队一共13个名额,去掉女生名额, 按1/3校内限制,我们南外只有4个名额, 在noip爆炸(占比35%),省选一轮爆炸(占比40%),(此时蒟蒻在校内排不进前10...) 总算在省选二轮(占比 ... 
- Redis入门之增删改查等常用命令总结
			Redis是用C语言实现的,一般来说C语言实现的程序"距离"操作系统更近,执行速度相对会更快. Redis使用了单线程架构,预防了多线程可能产生的竞争问题. 作者对于Redis源代 ... 
- 程序员修神之路--🤠分布式高并发下Actor模型如此优秀🤠
			写在开始 一般来说有两种策略用来在并发线程中进行通信:共享数据和消息传递.使用共享数据方式的并发编程面临的最大的一个问题就是数据条件竞争.处理各种锁的问题是让人十分头痛的一件事. 传统多数流行的语言并 ... 
