
from EmployeeManage import models as emd
from django.core import serializers
dept_list = serializers.serialize("json", emd.Department.objects.all()) #方法1
print(dept_list)
用这个方法取出来的数据是这样的:
[{“model”: “EmployeeManage.department”, “pk”: “MB001”, “fields”: {“depart”: “技术部”}}, {“model”: “EmployeeManage.department”, “pk”: “MB002”, “fields”: {“depart”: “市场部”}}, {“model”: “EmployeeManage.department”, “pk”: “MB003”, “fields”: {“depart”: “采购部”}}]
这种格式的数据一些前端的控件读取不了,比如easyui的combobox、datagrid等
方法2:python的list()from EmployeeManage import models as emd
from django.core import serializers
dept_list = list(emd.Department.objects.all().values()) #一定是.values()哦
print(dept_list)
用第二个方法取出来的数据是这样的:
[{‘id’: ‘MB001’, ‘depart’: ‘技术部’}, {‘id’: ‘MB002’, ‘depart’: ‘市场部’}, {‘id’: ‘MB003’, ‘depart’: ‘采购部’}]
这样就可以被控件读取了,用模版标签传值的话记得加上过滤器safe,不然网页会出现问题
$("#dptname").combobox({
panelHeight:'auto',
data:{{ depart_list|safe }},
textField:'depart',
valueField:'id',
});