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

django qyeryset json

李中冰2年前10瀏覽0評論

在Django中,QuerySet可以用來實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行快速操作。而在QuerySet的基礎(chǔ)上,我們可以利用json來輸出數(shù)據(jù)庫中的數(shù)據(jù)。

下面我們以一個例子來說明具體的操作方法:

# 創(chuàng)建一個模型類
class Student(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
sex = models.CharField(max_length=2)
grade = models.CharField(max_length=20)
# 向數(shù)據(jù)庫插入數(shù)據(jù)
Student(name='張三', age=18, sex='男', grade='高一').save()
Student(name='李四', age=17, sex='女', grade='高二').save()
Student(name='王五', age=19, sex='男', grade='高三').save()
# 在視圖函數(shù)中查詢數(shù)據(jù)庫
students = Student.objects.values()
json_data = json.dumps(list(students))

在上面的代碼中,我們首先創(chuàng)建了一個學(xué)生模型類,然后向數(shù)據(jù)庫中插入了三條數(shù)據(jù)。接著在視圖函數(shù)中,我們使用values()方法獲取了所有學(xué)生的信息,并將其轉(zhuǎn)換成了json格式。

我們可以通過print(json_data)的方式打印出json格式的數(shù)據(jù),結(jié)果如下:

[{"id": 1, "name": "張三", "age": 18, "sex": "男", "grade": "高一"}, {"id": 2, "name": "李四", "age": 17, "sex": "女", "grade": "高二"},{"id": 3, "name": "王五", "age": 19, "sex": "男", "grade": "高三"}]

在前端頁面中,我們可以使用ajax來獲取這些json數(shù)據(jù),然后將其渲染到頁面上。例如:

$.ajax({
url: '/get_data',
type: 'post',
data: {},
success: function(response) {
var data = JSON.parse(response);
for (var i = 0; i< data.length; i++) {
var student = data[i];
var html = '<tr><td>' + student.name + '</td><td>' + student.age + '</td><td>' + student.sex + '</td><td>' + student.grade + '</td></tr>';
$('table').append(html);
}
},
error: function(xhr, status, error) {
alert('Error: ' + error);
}
});

在上面的代碼中,我們使用了ajax來請求/get_data接口,然后將返回的json數(shù)據(jù)解析成了對象,最后用for循環(huán)將數(shù)據(jù)遍歷出來,并利用jquery將其附加到表格中。

以上就是關(guān)于Django QuerySet的json輸出的簡單例子,我相信通過這個例子,讀者已經(jīng)掌握了QuerySet和json的基本用法。