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)
 
 
原文地址:https://www.cnblogs.com/liuyuchao/p/14015355.html