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