2017-10-24 4 views
0

私はdjangoのクイズのためにお互いの値を比較しようとしています。私は、オブジェクトデータのPOSTデータを使用してお互いを比較しようとしています。Pythonでクエリーセットオブジェクトから値を抽出するには?

現在のコード:

answerList = [] 
answerList2 = [] 
for i in Question.objects.filter(related_quiz = examid): 
    answerList.append(i.answer) 

form = EditQuizForm() 
form = EditQuizForm(request.POST) 

if request.method == "POST": 
    form = EditQuizForm(request.POST) 
    submittedObject = request.POST.copy() 
    newList = (dict(submittedObject.lists())) 
    values = newList.values() 
    for i in values: 
     answerList2.append(i) 

    print(answerList) 
    print(answerList2) 

これは値を返します。

 ['A', 'D'] 
     [['A'], ['D']] 

しかし、私は彼らが同じではないとして、それらを比較するために、これらを反復することはできません。私はどのようにanswerList2をanswerList1のように見せてもらえないので、値を比較することができます。私はかなりPython/djangoに新しいですので、どんな助けも歓迎されます。

+0

「answerList」と「answerList2」の値を比較したいと思っています。そのとおり ? – GeekSilva

+0

これは正しいですか(例: 'A'から 'A'、 'D'コードのデバッグに役立ちます。 – Abjilla22

+0

"newList"オブジェクト& "submittedObject"オブジェクトを印刷して、次の出力を表示できますか? –

答えて

1

項目はループがブレイクで破壊され、関数はFalseを返します異なる場合あなたはanswerList2

のインデックス0
def compareLists(answerList, answerList2): 
    for i in range(len(answerList)): 
     if answerList[i] != answerList2[i][0]: 
     break 
    else: 
     return True 
    return False 

の値でanswerListの値をループして比較することができます。それ以外の場合は、breakで終了せずTrueを返します。

私は助けて欲しいと思っています。

+0

そのコードのちょっとした誤字、2番目のanswerListに' 2 'がありません。それをテストし、それはうまくいく、よかった! – Abjilla22

+0

ありがとう、私はすでに編集しています。 – GeekSilva

関連する問題