私はdjangoで生のSQLクエリからデータを取得していますが、これで配列とwhileループと混同しました。私の選択クエリが 4 行を返し、1 人のユーザーに対して 2 行が返されるとします。したがって、4 行には 2 人のユーザーのデータが含まれます。ただし、1 人のユーザーに対応する 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
その後、エラーが発生します。
PHPで行ったように、djangoでこれを行う方法を教えてください。