我正在从 django 中的原始 sql 查询中获取数据,但是我对数组和 while 循环感到困惑。假设我的选择查询返回 4 行,一个用户 2 行,因此四行将包含 2 个用户的数据。但是与一个用户对应的两行具有相似的数据,除了最后一列。
r1 --> a , b , c , d , 1
r2 -- > a , b , c , d , 0
在 php 中,我已经这样做了。$arr=数组();
while($result= mysql_fetch_assoc($select))
{
if(!isset($arr[$result['entity_id']]['lastname'])){
$arr[$result['entity_id']]['firstname'] = $result['info'];
}
$arr[$result['entity_id']]['lastname'] = $result['info'];
$arr[$result['entity_id']]["email"]=$result['email'];
$arr[$result['entity_id']]["style_quiz_score"]=$result['style_quiz_score'];
$arr[$result['entity_id']]["style_quiz_answer"]=$result['style_quiz_answer'];
$arr[$result['entity_id']]["date_joined"]=$result['date_joined'];
$arr[$result['entity_id']]["is_active"]=$result['is_active'];
$arr[$result['entity_id']]["username"]=normalize_str($result['email']);
}
但是我很惊讶如何在 django 中做到这一点,如何在 while 循环中使用多数组,如果我使用 for 循环或 while 循环,如下所示:
arr={}
for row in cursor:
arr[row['0']]['firstname']=row[0]
**OR**
while row in cursor:
pass
然后它给出错误。
所以请建议我如何在 django 中做到这一点,就像我在 PHP 中所做的那样。