Django Values() 方法没有返回正确的值

Django Values() Method is not returing proper values

我正在尝试仅获取我的模型中的一些列名称,我正在尝试使用以下查询但它不起作用,你能帮帮我吗?正确的使用方法是什么。

view.py

def get(self, request):
        '''
        API function to Get all Objects
        '''
        try:
            emp = EMP.objects.all()
            serializer = EmpSerializer(emp, many=True).data
 
            return Response({'status': 200, 'data': serializer, 'message': 'All data'})

        except Exception as e:
            print(e)
        return Response({'status': 500, 'message': 'Something went wrong'})

Models.py

  class EMP(models.Model):
    A = models.AutoField(primary_key=True)
    B = models.CharField(max_length=70, blank=False, default='')
    C = models.CharField(max_length=10, blank=False, default='')
    D = models.CharField(max_length=200)
    E = models.CharField(max_length=10)
    F = models.CharField(max_length=10)
    G = models.CharField(max_length=10)
    H = models.CharField(max_length=100)

Serializer.py

class EmpSerializer(serializers.ModelSerializer):
    class Meta:
        model = EMP
        fields = ('A',
                  'B',
                  'C',
                  'D',
                  'E',
                  'F',
                  'G')

但是当我尝试以下要求时,我能够获得所有列

 emp = EMP.objects.all()

如果我只尝试某些列,我会收到错误

emp = EMP.objects.values('A','B','C')

任何人都可以帮助我,在此先感谢!!!

你应该在filter()all()

之后使用values()

遇到这种情况,可以这样写:

emp = EMP.objects.all().values('A','B','C')