欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

django調用存儲過程返回json

林玟書1年前8瀏覽0評論

在Django中調用存儲過程并返回JSON數據是一項比較常見的任務。下面介紹一下如何實現。

首先,我們需要編寫一個存儲過程。假設我們需要返回一個用戶的姓名和年齡,那么可以編寫如下的存儲過程:

CREATE PROCEDURE get_user_info(
IN user_id INT,
OUT name VARCHAR(255),
OUT age DECIMAL(10,2)
)
BEGIN
SELECT name, age
FROM users
WHERE id = user_id;
END;

接下來,在Django中定義一個視圖函數,用于調用存儲過程并返回JSON數據:

from django.http import JsonResponse
from django.db import connection
def get_user_info(request):
user_id = request.GET.get('user_id')
cursor = connection.cursor()
cursor.callproc('get_user_info', [user_id])
row = cursor.fetchone()
cursor.close()
return JsonResponse({'name': row[0], 'age': row[1]})

在這個視圖函數中,我們首先獲取用戶ID,并使用Django提供的connection.cursor()方法創建一個數據庫游標。然后調用存儲過程,并傳入用戶ID作為參數。最后從游標中獲取一條數據,并將它封裝成一個JSON對象返回。

需要注意的是,這里使用了Django提供的JsonResponse類來返回JSON數據,這樣可以確保返回的JSON對象符合HTTP協議的規范。

以上就是在Django中調用存儲過程并返回JSON數據的一種實現方式。當然,具體實現方式可能會因為業務需求的不同而有所不同。