2016-09-01 5 views
-1

sagen, dass ich ein dict mit diesen Objekten haben:elegante Art und Weise Wörterbuch auf Nummer in Schlüsselfolge neu zu ordnen

< MultiValueDict: { 
     u 'task-1-t_name': [u 'T2'], 
     u 'task-INITIAL_FORMS': [u '0'], 
     u 'task-1-end_date': [u '1010-01-01'], 
     u 'task-MAX_NUM_FORMS': [u '1000'], 
     u 'order_wizard-current_step': [u 'task'], 
     u 'task-TOTAL_FORMS': [u '2'], 
     u 'task-1-start_date': [u '1010-01-01'], 
     u 'task-0-t_name': [u 'T1'], 
     u 'task-MIN_NUM_FORMS': [u '0'], 
     u 'task-0-end_date': [u '1010-01-01'], 
     u 'task-0-start_date': [u '1010-10-01'] 

Was die pythonic und elegante Weise sein würde, ein Array oder ein Wörterbuch zu erstellen, die mir task[0].start_time geben würde, oder task[n]['key_name']

ich fühle mich wie ich viel mehr Code als nötig schreiben werde diese die Daten für eine Django formset

+0

Diese Frage nimmt viel Vorverständnis an ... Was ist ein 'MulitiValueDict'? Ist es von einem Rahmen? Wenn ja, könnte das Hinzufügen eines Tags für dieses Framework dazu beitragen, dass Ihre Frage an die richtigen Personen weitergeleitet wird. Welche Ausgabe erwarten Sie in Ihrem Beispielcode? – mgilson

+1

Versuchen Sie, uns zu zeigen, was Sie bisher versucht haben, anstatt nach generischem Rat zu fragen. Auch zu erklären, welche Aufgabe [0] ist und welche start_time ist hilfreich. Welche Art von Endprodukt möchten Sie? – gowrath

Antwort

2

Dies ist zu tun. Anstatt zu versuchen, es separat zu manipulieren, sollten Sie die Methoden verwenden, die im Formset selbst verfügbar sind: Nachdem Sie das Formset validiert haben, können Sie beispielsweise formset.forms[0].cleaned_data['start_time'] ausführen.

Verwandte Themen