Django: Lendo Array de objetos JSON de QueryDict

Como faço para passar uma estrutura JSON composta via chamada AJAX de JS e no lado do servidor, leia-a como uma estrutura de dados "muito semelhante" em python?

Eu entendo que a formatação json pode ser usada (simplejson etc), mas de alguma forma eu sinto que o QueryDict em si é malformado ou reformatado no meu caso?

Exemplo:

Ao passar uma matriz de objetos JSON [{"id": 1}, {"id": 2}, {"id": 3}] via AJAX para visualização do Django, o QueryDict é formatado como:

<code>POST:<QueryDict: {u'json_data[0][id]': [u'1'], u'type': [u'clone'], 
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], 
u'json_data[1][id]': [u'2'], u'json_data[2][id]': [u'3']}>
</code>

Como faço para iterar pelo json_data?

Eu quero algo assim em vez disso:

<code>POST:<QueryDict: {u'json_data': [{u'id': [u'1']}, {u'id': [u'2']}, {u'id': [u'3']}]},
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], u'type': [u'clone']>
</code>

Para que eu possa acessar o QueryDict como um dicionário e recuperar o json_data como uma lista e processá-lo em uma determinada ordem: talvez apenas iterar por eles na ordem da lista sequencial. Algo como:

<code>ret = request.POST
for item in ret['json_data']:
    process(item['id'])
</code>

Na verdade, o valor que entra em process () pode ser outro dicionário de pares de valores chave em vez de apenas um número (1,2,3 etc)

Javascript:

<code>var test = [{"id": 1},{"id": 2},{"id": 3}];
$.post(
    "/insert_tc",
    {
      json_data: test,
      "type": 'clone',
      "csrfmiddlewaretoken": $csrf_token
    },  
    function(json) {
        //CALLBACK
    },
    "json"
);  
</code>

views.py:

<code>def insert_tc(request):
    if request.method == 'POST':       
    ret = request.POST
    type = ret['type']
    list = ret.getlist(ret)
</code>

Mas lista retorna vazio []

Eu tentei simplesjson dumps, cargas, itens, obter métodos, mas nenhum deles ajudou.

Eu até tentei jQuery.param (obj, true), mas não é isso que eu quero (embora um pouco perto).

Existe uma maneira diferente / melhor para passar estruturas de dados compostas para trás e para frente Django <-> JS via AJAX?

questionAnswers(2)

yourAnswerToTheQuestion