Azd*_*325 3 python django django-models django-orm
有没有一种有效的方法从函数中排除字段values()或values_list.
例如
Videos.objects.filter(id=1).get().values()
Run Code Online (Sandbox Code Playgroud)
我想从此查询集中排除该字段duration.
我知道我可以在结果中指定字段,但是如果我只需要一个字段,那该怎么办.就像在这种情况下,如果我有20个字段,如果我只想要一个不是.
谢谢
Fal*_*gel 16
您必须使用defer这不会在select查询中添加已定义的字段.
Videos.objects.filter(...).defer('duration')
Run Code Online (Sandbox Code Playgroud)
您可以先获取所有字段,然后弹出不需要的字段:
fields = Video._meta.get_all_field_names()
fields.remove('id')
Video.object.filter(...).values(*fields)
Run Code Online (Sandbox Code Playgroud)