我正在尝试访问名为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'),

10-06 04:29
查看更多