其实我正在做一个项目。我想通过状态字段获取数据,而不是在Django rest框架中的models.py中创建的id。这是我的源代码
Models.py文件
class employee(models.Model):
name = models.CharField(max_length=50)
salary = models.IntegerField()
phone = models.CharField(max_length=20)
address = models.CharField(max_length=250)
status = models.CharField(max_length=20)
Views.py文件
class employeeviewset(viewsets.ModelViewSet):
queryset = models.employee.objects.all()
serializer_class = serializers.employeeserializer
class employeebystatus(viewsets.ModelViewSet):
def get(self, request, status):
employee = models.employee.objects.filter(status=status)
if employee:
serializer = serializers.employeeserializer(employee, many=True)
return Response(status=200, data=serializer.data)
return Response(status=400, data={'Employee Not Found'})
urls . py文件
router = routers.DefaultRouter()
router.register('employee/<status>/', employeeviewset)
如何使用查询通过状态字段获取数据谁能告诉我答案
如果我正确理解你的问题,你正试图让你的视图通过基于状态而不是user_id过滤来返回雇员模型的实例。如果这是正确的,你应该能够更新你的urls.py文件如下:
router = routers.DefaultRouter()
router.register('employee/', employeeviewset)
router.register('employee/<status>', employeebystatus)
查询从url路径
获取每个用户请求的特定数据ModelName.objects.get(ColumnName="status")
你也可以试试
class StatusAPIView(APIView):
def get(self,request):
XYZ = ModelName.objects.get(ColumnName="status")
serializer = YourSerializeNAme(XYZ,many=True)
return Response(serializer.data)