13

是否有一种有效的方法可以从函数中排除字段values()values_list.

例如

Videos.objects.filter(id=1).get().values()

我想从这个查询集中排除该字段duration

我知道我可以指定我想要在结果中包含的字段,但是如果我想要所有内容但只有一个字段不想要怎么办。就像我有 20 个字段而我只想要其中一个字段的情况一样。

谢谢

4

2 回答 2

29

您必须使用defer这不会将定义的字段添加到您的select查询中。

Videos.objects.filter(...).defer('duration')
于 2013-05-31T10:15:49.613 回答
18

可以先获取所有字段,然后弹出不想要的字段:

fields = Video._meta.get_all_field_names()
fields.remove('id')
Video.object.filter(...).values(*fields)
于 2013-05-31T10:07:52.413 回答