首页 > 其他 > 详细

CRM项目总结

时间:2019-04-27 16:47:57      阅读:133      评论:0      收藏:0      [点我收藏+]

views可以直接在urls.py中写
函数加括号的优先级最高
类(),实例化对象
request.POST只能解析urlencoded编码,不能接受json格式数据,json要从request.body中取.

如何自动生成针对特定模型表的增删查改操作?
获取模型表所在应用名,拼接上模型表小写名,加上操作(二级路由不能写在StarkSite中,不能针对不同的configobj来生成配置类对象)

前端根据不同的对象.属性,如何根据不同对象自动获取其属性名?
获取对象和对象要显示的属性列表,表头:self.model._meta.get_field(‘%s‘ % lis).verbose_name / 表体:getattr(对象,field)

如何将所有的表都设置上自定义的属性列?
将原有属性列表传入,在源码中重新生成一个要显示的属性字典

如何判断是表头还是表体?(编辑字段在表头中是字符串,在表体中是a链接)
在函数中加字段:isheader = False,来控制走不同的代码

如何通过点击不同对象的编辑删除按钮,获取到对应的路由?
反向解析,在页面加载的时候,就已经完成了路由的生成,app名/表名/操作名/对象id,而不是点击的时候才生成路由

如何实现display_links功能?.
display_links实际就是将字段改为a链接,地址为编辑页面

如何实现编辑页面,初始状态就渲染出数据?
modelform可以简单实现
在前端加判断,如果当前的publish== obj.publish 或 authors in authors_list ,说明是编辑

如何保存搜索条件?
每次的请求都会通过后台,在后台拼接数据,重新返回给前台
request.GET,获取搜索条件,import copy ,deepcopy,request.GET.urlencoded()转换为name=xxx&pwd=xxx形式

如何封装类?
将所有需要的参数当做初始化参数传入,变为类的一个属性

如何实现查询表,并且是模糊查询?
Q对象,append入字段和查询条件,修改查询为或关系,queryset.filter(q)

如何实现保存搜索框查询条件?
保存查询条件,返回去前台,value = 后台返回数据

如何实现批量处理?
获取批量id:request.post.getlist("name"),checkbox自动传选中id
批量操作:查询出来选中的queryset对象,直接执行操作

如何实现联合查询?
deepcopy,重新添加新的值,urlencoded将结构变为 name = chuck&age = 18

为什么 href="?name = chuck",就可以直接访问地址?
浏览器会默认将地址拼接,然后发送get请求,get请求到后台之后取出来数据,用数据进行查询

如何实现联合查询?
q = Q().children.append((filter_field,field_val)) :append()必须是用括号包起来
queryset.filter(q)

CRM项目总结

原文:https://www.cnblogs.com/xuechengeng/p/10778894.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!