我有一个由多个字段组成的Django模型。我只想选一个。
我只使用(),因为根据文档,它应该只返回woodAsked
字段。然而,返回的查询集仍将包含Painting
模型中的每个字段。
>>> a = Painting.objects.only('woodAsked')
>>> serializers.serialize("json",a)[1:200]
'{"model": "binaryQuestionApp.painting", "pk": 3, "fields": {"name": "Getty00052501.jpg", "objectNumber": "00052501.jpg", "collection": "Getty", "title": "pretty after al", "woodAsked": 0, "woodYes": '
如何选择'woodAsked'字段?
答案 0 :(得分:2)
您正在寻找values
或values_list
a = Painting.objects.values('woodAsked')
a = Painting.objects.values_list('woodAsked', flat=True)
只有推迟其他字段,使其不会在初始查询中返回 - 但仍然存在
答案 1 :(得分:1)
您可以使用values
或values_list
,
OR
如果您只想序列化字段子集,可以为序列化器指定字段参数,
data = serializers.serialize('json', a, fields=('woodAsked'))