繁体   English   中英

Django:如何从QuerySet获取参数

[英]Django: How to get parameters from QuerySet

考虑以下Django模型:

class SomeModel(models.Model):
    some_var = models.IntergerField()

从搜索结果中获取模型参数数组的最佳方法是什么?

示例(当然不起作用):

a = SomeModel.objects.all().some_var

将给出类似[3, 4, 1, 9, 1, 2]

有一个称为values_list现有queryset方法https://docs.djangoproject.com/en/1.10/ref/models/querysets/#values-list

a = SomeModel.objects.all().values_list('some_var', flat=True)

我们使用的是flat=True ,这样它将给出平坦的列表

Entry.objects.values_list('id').order_by('id')
[(1,), (2,), (3,), ...]
Entry.objects.values_list('id', flat=True).order_by('id')
[1, 2, 3, ...]

您可以产生该列表,如下所示:

foo = [i.some_var for i in SomeModel.objects.all()]

但是我已经收到通知,这将浪费内存。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM