使用Values()时排除字段

时间:2018-02-14 10:17:53

标签: python django python-3.x

我有一个模型XYZ(name,age,sex), 我使用XYZ.objects.filter(name='ddd').values()获取所有字段 这将返回dict中的所有字段。如何排除字段age

我尝试了以下内容,但它无效

XYZ.objects.filter(name='').exclude('sex').values()

1 个答案:

答案 0 :(得分:0)

使用此

XYZ.objects.filter(name='ddd').defer('age')      

OR

XYZ.objects.values('name','sex').filter(name='ddd')

OR 

fields = XYZ._meta.get_fields() # Try
fields.remove('age')
XYZ.object.filter(name='ddd').values(*fields)

OR

fields = list(XYZ._meta.get_fields())
fieldslist = [field.name for field in fields]  
XYZ.object.filter(name='ddd').values(*fieldslist)   

将所有字段列表放入值中,排除不是选择器,而是用于过滤器。