我在附近闻了闻,找不到这个,但我肯定它就在这里的某个地方.对于这个潜在的双重职位,我深表歉意!

如果我有这个代码:

return Story.objects.filter(user=request.user.id).order_by('-create_date')

假设Story有,嗯,一个"Description"字段,我just想要那个Description字段,数据库不需要随我的结果一起发回任何其他内容,我该如何将查询限制在just呢?

也就是说,如何生成以下SQL:

select description from story where user_id = x order by create_date desc

(其中x当然是request.user.id值)

推荐答案

使用values()values_list().

如果你使用values(),你最终会得到一个字典列表(严格来说是ValuesQuerySet)

instance = MyModel.objects.values('description')[0]
description = instance['description']

如果你使用values_list(),你会得到一个元组列表

instance = MyModel.objects.values_list('description')[0]
description = instance[0]

或者,如果您只获得一个值(如本例所示),则可以使用flat=Truekwarg和values_list来获得一个简单的值列表

description = MyModel.objects.values_list('description', flat=True)[0]

请看official documentation

Django相关问答推荐

查尔而不是瓦尔查尔加盟Django 球场

AttributeError:';ManyToOneRel&39;对象没有属性';attname';

Django:我的上下文变量不能用于重复的for循环

在Django上传JPEG图像时遇到问题

如何在视图中的 Django 重定向末尾附加字符串?

Django ORM:子查询上的文本聚合器

Django 在模型中存储用户图像

在 django web 应用程序中,如何给用户自己的子域?

用户组和权限

清理提交的表单数据中的 HTML

模拟 Django 查询集以测试采用查询集的函数

在 Django Admin 中过滤多对多框

响应发送到客户端后在 Django 中执行代码

Django Admin:如何在内联中显示模型上定义的属性?

将 jQuery 脚本添加到 Django 管理界面

如何在 django 中仅获取表的特定列?

ModelForm 上的 Django 和字段集

Django admin:使字段在添加中可编辑但不可编辑

django/文件上传权限

Python Django 的多线程