我正在尝试访问名为Active_Project_View的数据库。在此里面是我要在ag-grid中显示的信息。我已经使用objects.all()
来获取信息,但是它不起作用。
class getActiveGrid():
def get_queryset(self, request, format=None):
queryset = Active_Project_View.objects.all()
return queryset
def get(self, request, format=None):
filters = request.data
serializer = ActiveGridViewSerializer(self.get_queryset(filters), many=True)
return HttpResponse(serializer.data)
<!DOCTYPE html>
<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" href="static\app\content\agGrid.css" >
<script src="https://unpkg.com/ag-grid-community/dist/ag-grid-
community.min.noStyle.js"></script>
<link rel="stylesheet" href="https://unpkg.com/ag-grid-
community/dist/styles/ag-grid.css">
<link rel="stylesheet" href="https://unpkg.com/ag-grid-
community/dist/styles/ag-theme-balham.css">
</head>
<body>
<h1>Project Grids</h1>
<div class="box c">
活动项目
<script type="text/javascript" charset="utf-8">
const Active_Project = [
{ headerName: "Last Name", field: "app.Customer_Last_Name", sort: 'asc' },
{ headerName: "First Name", field: "Customer_First_Name", },
{ headerName: "Phone Number", field: "Customer_Phone_Number", },
{ headerName: 'Employee', field: 'Employee_First_Name' },
{ headerName: 'Zip Code', field: 'Customer_Zip' },
];
const ActiveProjectGrid = {
columnDefs: Active_Project,
};
var eGridDiv1 = document.querySelector('#ActiveProjectGrid');
new agGrid.Grid(eGridDiv1, ActiveProjectGrid);
fetch('getActiveGrid').then(function (response) {
return response.data();
}).then(function (data) {
ActiveProjectGrid.api.setRowData(data);
})
</script>
</body>
</html>
url(r'^getActiveGrid$',app.views.getActiveGrid, name='postActive'),
class ActiveGridViewSerializer():
class Meta:
model = Active_Project_View
fields= '__all__'
类Active_Project_View(models.Model):
id = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
Customer_First_Name= models.CharField(max_length=255, blank = False)
Customer_Last_Name = models.CharField(max_length=255, blank = False)
Customer_Phone_Number = models.CharField(max_length=10, blank=True)
Customer_Zip = models.CharField(max_length = 5, blank = False)
Employee_First_Name=models.CharField(max_length=255)
Quote_Status = models.CharField(max_length = 16, default = None)
class Meta:
managed = False
我希望得到的客户名称,电话号码,邮政编码和要显示的员工是网格。我目前正在收到“正在加载...”框,但不确定自己在做什么错。
最佳答案
您的实现存在多个问题。您可以像这样一个接一个地修复它们:
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import serializers
#serializer
class ActiveGridViewSerializer(serializers.ModelSerializer):
class Meta:
model = Active_Project_View
fields= '__all__'
# view
class getActiveGrid(APIView):
def get_queryset(self):
queryset = Active_Project_View.objects.all()
return queryset
def get(self, request, format=None):
serializer = ActiveGridViewSerializer(self.get_queryset(), many=True)
return Response(serializer.data)
# url
url(r'^getActiveGrid$',app.views.getActiveGrid.as_view(), name='postActive'),