是否有一种有效的方法可以从函数中排除字段values()
或values_list
.
例如
Videos.objects.filter(id=1).get().values()
我想从这个查询集中排除该字段duration
。
我知道我可以指定我想要在结果中包含的字段,但是如果我想要所有内容但只有一个字段不想要怎么办。就像我有 20 个字段而我只想要其中一个字段的情况一样。
谢谢
是否有一种有效的方法可以从函数中排除字段values()
或values_list
.
例如
Videos.objects.filter(id=1).get().values()
我想从这个查询集中排除该字段duration
。
我知道我可以指定我想要在结果中包含的字段,但是如果我想要所有内容但只有一个字段不想要怎么办。就像我有 20 个字段而我只想要其中一个字段的情况一样。
谢谢
您必须使用defer
这不会将定义的字段添加到您的select
查询中。
Videos.objects.filter(...).defer('duration')
可以先获取所有字段,然后弹出不想要的字段:
fields = Video._meta.get_all_field_names()
fields.remove('id')
Video.object.filter(...).values(*fields)