" name="sm-site-verification"/>
侧边栏壁纸
博主头像
PySuper博主等级

千里之行,始于足下

  • 累计撰写 203 篇文章
  • 累计创建 14 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录
Web

Django 交互 MySQL

PySuper
2019-10-23 / 0 评论 / 0 点赞 / 17 阅读 / 7379 字
温馨提示:
所有牛逼的人都有一段苦逼的岁月。 但是你只要像SB一样去坚持,终将牛逼!!! ✊✊✊

增删改查

models.UserInfo.objects.create(user='yangmv',pwd='123456')

# 或
obj = models.UserInfo(user='yangmv',pwd='123456')
obj.save()

# 或
dic = {'user':'yangmv','pwd':'123456'}
models.UserInfo.objects.create(**dic)

models.UserInfo.objects.filter(user='yangmv').delete()

models.UserInfo.objects.filter(user='yangmv').update(pwd='520')

# 或者
obj = models.UserInfo.objects.get(user='yangmv')
obj.pwd = '520'
obj.save()

models.UserInfo.objects.all()

# #只取user列
models.UserInfo.objects.all().values('user')

# #取出id和user列,并生成一个列表
models.UserInfo.objects.all().values_list('id','user')
models.UserInfo.objects.get(id=1)
models.UserInfo.objects.get(user='yangmv')

模糊搜索

  • 是/否区分大小写:__contains/__icontains
  • 多字段: search_dict["info"] = info items = Fileinfo.objects.filter(**search_dict)
  • 关系:Q(produce__icontains=key_word) | Q(author__icontains=key_word)
# 查询检索 + 分页查询 ==> 表格重载 ==> 使用模糊搜索
def file(request):
    # 前端传递筛选的额数据, 这里返回符合当前条件的数据
    # ==> 前端发送请求时候就是这个格式
    carmodel = request.GET.get("carmodel", None)
    if key_word == "":
        key_word = None
        
    # 这里是分页查询的page和limit
    page = request.GET.get('page')
    limit = int(request.GET.get('limit'))
    search_dict = {}
    
    if carmodel is None:
        # 如果用户什么都没有搜,显示所有
        items = Fileinfo.objects.all()
    else:
        # 如果用户搜索了,先获取上面几个的查询结 ==> 有没有key_word
        if carmodel:
            search_dict["carmodel"] = carmodel
            
        # 如果没有key_word, items就是这个值
        items = Fileinfo.objects.filter(**search_dict)
        
        # 如果key_word存在,再从上面搜索的QuerySet中搜索
        if key_word:
            key_word = key_word.replace(' ', '')
            items = Fileinfo.objects.filter(**search_dict).filter(Q(produce__icontains=key_word))
            
    # 这里是使用什么方法分页查询数据的
    paginator = Paginator(items, limit)
    try:
        page_item = paginator.page(page)
    except PageNotAnInteger:
        page_item = paginator.page(1)
    except EmptyPage:
        page_item = paginator.page(paginator.num_pages)
    items = json.loads(serializers.serialize("json", page_item))
    # 构建数据列表
    res_list = []
    for item in items:
        item["fields"].update(pk=item["pk"]) # 把id添加到列表中,只返回数据字典
        res_list.append(item["fields"])
    res = {
        "code": 0,
        "msg": "OK",
        "count": paginator.count, # 数据的条数
        "data": res_list # 返回的数据列表
    }
    return JsonResponse(res)

Django DeleteView 源码解析

Django CreateView、UpdateView 源码解析

Django ContentTypes 框架

Linux 下升级 Python 版本

Django WebSocket (一):WebSocket 概念及原理

Django WebSocket (二):Channels 概念及原理

Django WebSocket (三):Channels + WebSocket 实现在线聊天

Python 对数器实现与使用

Django Redis 缓存优化

Django ORM优化 和 SQL优化

Python 应用部署

代理 IP 抓取及使用(自动重连)

使用 pandas、xlrd、xlwt 读写 Excel

cookiecutter 火速创建 Django项目

Ngrok 实现 内网穿透

蓝绿部署、滚动部署、金丝雀发布(灰度发布)、A/B测试

冒泡排序、选择排序、插入排序

递归分析、归并排序

Python 自定义比较器

经典快排、随机快排、Python代码实现

堆排序、Python实现堆排序

桶排序、计数排序、基数排序

Crontab + Celery 定时处理异步任务

Django 信号机制、消息框架

分布式文件系统 NFS 配置(Deepin)

Kubernetes | Pod

Kubernetes | 资源清单

Kubernetes | 资源控制器

Kubernetes | Service

Kubernetes | 存储

Kubernetes | 集群调度

Kubernetes | 安全

Python 项目代码规范

MySQL 数据库拆分

实践:Crontab、Celery 分布式 异步

MySQL 创建用户与权限管理

GitLab、Jenkins、Harbor 安装 | CentOS、Docker

Nginx 常用配置

JetBrains | PyCharm 链接 GitLab | GitHub

DevOps | Docker | Harbor 安装与配置 | 踩坑

DevOps | GitLab CI/CD | Runner | Pipline | gitlab-ci.yml

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区