我想为Django查询集中的对象提取一组字段,并将它们转换为矩阵,其中字段为列,用于某些计算 . 我已经到了这一点:
qs = models.Devices.objects.all()
params = qs.values('b1', 'b2', 'b3', 'b4', 'b5', 'b6', 'b7', 'b8')
它返回按对象排序的字典列表 .
我想知道是否有一种很好的方法将这些转换为numpy矩阵的行,并且还有一种方法可以保留这些值在db中保存的位置的索引?
我想做一些计算(有时根据参数类型不同),然后最终使用结果向量填充/覆盖db中的现有列,使得排序相同 .
1 回答
你可以
使用
values_list()
方法获取列表列表 . 在值中包含id
.对查询结果使用列表推导从
params
中删除id并生成ids
列表 .使用
params
作为numpy.matrix()
的参数 .对矩阵执行操作 .
迭代id并将矩阵每行的值保存到相应的对象 .