zoukankan      html  css  js  c++  java
  • Django认识

      Django是一个python开发的大而全的web框架,而且其文件结构完善,配置合理,使得开发者使用方便,容易掌握.对于开发者来说是一款比较理想的框架.最近前后端分离的开发模式大行于世,也使得Django的使用更加火热.

       Django的框架设计在遵循MVC设计思想的同时,开发了属于自己的一套框架设计思想,即MTV,相比于MVC来说,MVT的框架设计思想中的每个构件分工更加明确.Model即模型,用来数据库操作;View视图文件,用来接收用户请求,进行逻辑处理,渲染页面,将结果返回给用户;Template模板,用来加载页面.

      Django的数据操作,采用的是ORM(对象关系映射)设计技术,其在提供了完备的增删改查操作之外,还提供了一对一,一对多,多对多的关系映射,和两个特别的查询方式,F查询和Q查询.F查询:对同一表中的字段设置比较条件进行查询,Q查询,提供逻辑查询

     创建模型:

      class User(models.Model):

        """
    用户表
    """
    user_name = models.CharField(max_length=32)
    password = models.CharField(max_length=32)
    user_number = models.CharField(max_length=32,default = "0")
    添加数据:
    user = User()
    user.user_name = "张三"
    user.passeord = "123456"(一般需要加密)
    user.save()
    user.user_number = str(user.id).zfile(8)
    user.save()
    查询数据
    查询所有
    all_user= User.objects.all()
    查询一条
    user = User.objects.filter(id = 1).first()
    user = User.objects.filter(id = 1).first()
    查部分
    user_list = User.objects.filter(id__lt=10).all()
    聚合查
    user_list = User.objects.filter(id__lt=10).aggregate(count(id))
    顺序查
    user_list = User.objects.filter(id__lt=10).order_by("-id")
    分组查
    user_list = User.objects.filter(id__lt =10).values(id)
    F查询
    goods_list = Goods.objects.filter(price__lt = F(old_peice)).all()
    Q查询
    user_list = User.objects.filter(Q(id__gt=10)|Q(user_name = '张三')).all()
    删除数据
    user = User.objects.filter(id = 1).first()
    user.delete()
    修改数据
    user = User.objects.filter(id = 1).first()
    user.name = "李四"
    user.save()
    一对一关系构建
    class UserInfo(models.Model):
      nick_name = models.CharField(max_length = 32)
      phone = models.CharField(max_length = 32)
      user_id = models.OneToOneField(to=User,on_delete = models.CASCADE)
    一对多关系构建
    class order(models.Model):
      o_u = models.Foreignkey(to=User,on_delete=models.CASCADE)
    多对多构建
    class Goods(models.Model):
      g_u = models.ManyToMany(to=User)
     
     
  • 相关阅读:
    05 DDMS中logcat的使用
    04项目的目录结构分析与资源引用
    03 Android之我的第一个.hello world 程序
    关于myeclipse的有关操作
    jsp运行原理分析
    JSP简介
    prepareStatement与Statement的区别
    正则表达式
    过滤器的作用和用法
    剑指Offer--数值的整数次方
  • 原文地址:https://www.cnblogs.com/liuyuchao/p/14015355.html
Copyright © 2011-2022 走看看