Django檢視,與資料庫互動並返回資料
阿新 • • 發佈:2019-02-02
環境:python 2.7.13 資料庫:sqlite3(Django自帶)
在學習Django的時候,遇到了困難。大概就是取到資料庫資料後一直不能轉成json資料。最後終於自己琢磨解決了。
要點就是在通過Django API與sqlite資料庫做互動時,要看清楚返回的物件是什麼型別。
首先,與資料庫做互動,簡單來說,無非就是增刪改查。首先來說一說“查”,以後會陸續更新其他
查
在網上查了幾種比較常用的方法
models.UserInfo.objects.all()models.UserInfo.objects.all().values('user') #只取user列 models.UserInfo.objects.all().values_list('id','user') #取出id和user列,並生成一個列表
def returndata(request): info = models.Interface.objects.all() isdict = serializers.serialize('json', info) return HttpResponse(isdict, content_type="application/json")
此時通過打斷點可以看到info的型別為QuerySet
此時我們用serializers.serialize('json', info),來解析轉換即可,最後通過HttpResponse正常返回
當採用models.Interface.objects.get(payload=123456)來查詢的時候,筆者原始碼如下
def returndata(request): info = models.Interface.objects.get(payload=123456) response_data = {} isdict = model_to_dict(info) response_data["resultcode"] = 0 response_data["message"] = isdict return HttpResponse(JsonResponse(response_data), content_type="application/json")
此時通過打斷點可以看到info的型別為Interface
此時我們用model_to_dict(info),來解析轉換即可,最後通過HttpResponse正常返回