Django 对象查询集
Django objects queryset
我有一个关于 Django 查询的问题。我有这样的查询:
x = Foo.objects.order_by('date').values('amount')
和这个 returns 类似于:
[{'amount': Decimal('100.2200')},{'amount': Decimal('100.2200')}....]
我想做的是获取这些小数的标准差,但我似乎无法弄清楚如何将它们从字典中获取到列表中的小数。我尝试了一个 for 语句,但它不起作用并且列表理解 returns:
[Decimal('100.2200'), Decimal('100.2300')...]
使用此代码:
x = Foo.objects.order_by('date').values('amount')
x = ([amount.values()[0] for amount in x])
print x
我做错了吗?如果我想取回信息并对其进行操作,是否应该对服务器进行 sql 查询?
基本上我想做的是根据特定的过滤器获得某个 table 中所有金额的标准偏差...
非常感谢您的帮助
首先可以通过using values_list
直接获取小数点列表
qs = Foo.objects.order_by('date').values_list('amount', flat=True)
其次,如果在浮点数上比在小数列表上更容易计算 SD,您可以这样做
qs = Foo.objects.order_by('date').values_list('amount', flat=True)
float_qs = map(float, qs)
我有一个关于 Django 查询的问题。我有这样的查询:
x = Foo.objects.order_by('date').values('amount')
和这个 returns 类似于:
[{'amount': Decimal('100.2200')},{'amount': Decimal('100.2200')}....]
我想做的是获取这些小数的标准差,但我似乎无法弄清楚如何将它们从字典中获取到列表中的小数。我尝试了一个 for 语句,但它不起作用并且列表理解 returns:
[Decimal('100.2200'), Decimal('100.2300')...]
使用此代码:
x = Foo.objects.order_by('date').values('amount')
x = ([amount.values()[0] for amount in x])
print x
我做错了吗?如果我想取回信息并对其进行操作,是否应该对服务器进行 sql 查询?
基本上我想做的是根据特定的过滤器获得某个 table 中所有金额的标准偏差...
非常感谢您的帮助
首先可以通过using values_list
qs = Foo.objects.order_by('date').values_list('amount', flat=True)
其次,如果在浮点数上比在小数列表上更容易计算 SD,您可以这样做
qs = Foo.objects.order_by('date').values_list('amount', flat=True)
float_qs = map(float, qs)