1、类的引入
HttpResponse:代表响应的类
JsonResponse:JsonResponse用于前后端数据交互的json数据类
serializers:序列化类
time:时间类
from django.http import HttpResponse,JsonResponse
from users.models import User 实体类
import json
from django.core import serializers
import time
2、数据的添加
①json.loads(request.body) 获取前端传过来的参数
②userAdd.save() 数据保存
③time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) 获取当前时间并格式化为年月日时分秒的格式
def userAdd(request):
if request.method == "POST":
req = json.loads(request.body)
id = req.get("id")
nationality = req["nationality"]
number = req["number"]
del_flag = 1
userAdd = User(
id = id,
nationality=nationality,
number=number,
del_flag=del_flag,
)
userAdd.save()
return JsonResponse({"code":"SUCCESS","msg":"publish user sucess."})
3、数据的查询
①res=对象.objects.all() 获取所有数据
res = 对象.objects.filter(id=1) 条件查询,获取的是多条数据,
res = 对象.objects.get(id=1) 条件查询,获取的是1条数据
②如果是多条件查询,可以用
res = 对象.objects.filter(id=1).filter(number=23) 这是并
res = 对象.objects.filter(Q(id=1)| Q(number=23) 这是或
res = 对象.objects.filter(id_contains=1).filter(number_contains=23) 字段名_contains代表迷糊查询,一般用于汉字的匹配,字段名_icontains不区分大小写的模糊查询
如果是不确定的查询条件,可以用下面的方法
querydict = {}
if id != None:
querydict[“id”] = id
if number !=None:
querydict[“number”] = number
res = User.objects.filter(**querydict) **是解析字典
③json.loads(serializers.serialize(‘json’,res)) 将获取到的数据转换成json格式的数据 ,serializers:序列化
④对象.objects.order_by(“update_date”) #根据update_date顺序排序 可以连写
res = 对象.objects.filter(id=1).order_by(“update_date”)
order_by("-update_date") #根据update_date倒序排序
def userListByCondition(request):
if request.method == "GET":
req = json.loads(request.body)
id = req.get("id")
nationality = req.get("nationality")
number = req.get("number")
querydict = {}
querydict["del_flag"] = 1
if id != None:
querydict["id"] = id
if number !=None:
querydict["number"] = number
res = User.objects.filter(**querydict) # **是解析字典
data = json.loads(serializers.serialize('json',res))
return JsonResponse({"code":"SUCCESS","msg":"query user sucess.","users":data,})
4、数据的假性删除
对象.del_date = 2 直接修改对象的值
对象.save() 保存
def userDelete(request):
if request.method == "POST":
req = json.loads(request.body)
id = req["id"]
userObj = User.objects.get(id=id)
userObj.del_flag = 2
userObj.save()
return JsonResponse({"code":"SUCCESS","msg":"delete user sucess."})