> 文档中心 > 梅科尔工作室——Django+HarmonyOS 使用ROM方法查询最新数据

梅科尔工作室——Django+HarmonyOS 使用ROM方法查询最新数据


Django+HarmonyOS 使用ROM方法查询最新数据

前言

使用Django时如需操作已有数据库,需要先进行模型映射

具体操作如下

# CMD操作,进入项目文件python manage.py inspectdb# 等待映射完毕python manage.py inspectdb > models.py#之后会在manage.py同级目录下生成新的models.py文件,只需要复制粘贴即可

一、后端

同样我们需要先在urls.py中使用as_view()方法配置路由,具体原因上一章已经阐述

# 返回数据库最新数据class Getlastdata(APIView):    def post(self, request): try:     patientname = request.data.get('patientname')    # 获取前端传输数据     print('用户输入名称:' + patientname)     result = models.Patient.objects.filter(name=patientname).last()  # 查询符合条件的最新数据     name = result.name     age = result.age     height = result.height     weight = result.weight     body = result.body     alldata = []     alldata.append({  'name': name, 'age': age, 'height': height, 'weight': weight, 'body': body     })     alldata_json = json.dumps(alldata, ensure_ascii=False)    # 转换为JSON格式     return HttpResponse(alldata_json) except Patient.DoesNotExist as e:     print('用户名不存在')     return HttpResponse('用户名不存在') else:     return HttpResponse('请求失败')

二、前端JS

# get.jsimport fetch from '@system.fetch';import qs from 'querystring';import router from '@system.router';export default{    data:    { winfo:'', detail:[{     // 写定初始值      name:'aaa',      age :'18',      height:'180',      weight:'70',      body:'腿部'  }]    },    onClick(){ fetch.fetch({     url:`http://127.0.0.1:8000/Qingtian/getlastdata/`,     data:qs.stringify({patientname:'bbb'}),      // 请求传输后端数据     responseType:'json',     method:'POST',     success:(resp)=>     {  var getdata  getdata = JSON.parse(resp.data)   // 后端数据前端赋值  this.detail[0].name = getdata[0].name  this.detail[0].age = getdata[0].age  this.detail[0].height = getdata[0].height  this.detail[0].weight = getdata[0].weight  this.detail[0].body = getdata[0].body  this.winfo = resp.data  console.log('返回数据:'+this.winfo),  console.log('数据格式:'+typeof(this.winfo))     },     fail:(resp)=>     {  console.log('获取数据失败')     } })    }}