que tienen un querydict que se parece a lo siguiente:artículos Extracción De un QueryDict
<QueryDict: {u'{"content":"aa","id":"1"}': [u'']}>
¿cómo iba a extraer a cabo id
?
He intentado hacer queryDictExample.get("id")
, pero no funcionó.
que tienen un querydict que se parece a lo siguiente:artículos Extracción De un QueryDict
<QueryDict: {u'{"content":"aa","id":"1"}': [u'']}>
¿cómo iba a extraer a cabo id
?
He intentado hacer queryDictExample.get("id")
, pero no funcionó.
Parece que su cliente es la publicación de JSON en lugar de formencoded datos. En lugar de tener acceso a request.POST
, use request.body
(request.raw_post_data
en las versiones 1.3 o menos) y use json.loads()
para convertir a un dict.
Puede usar values_list en dict de consulta, es decir .: MyDict.values_list('id')
- devolverá la lista de listas con id dentro. A la lista de Identificación del uso MyDict.values_list ('id', plana = True)
Enlaces útiles regresar:
https://docs.djangoproject.com/en/1.4/ref/models/querysets/#values-list
https://docs.djangoproject.com/en/1.4/ref/models/querysets/#values
OP está hablando de QueryDicts, no de QuerySets. – Adriaan
Quizás esto no se aplique por completo a usted. Pero cuando busqué esto, tu pregunta fue la primera pregunta de Stackoverflow.
Solo quería obtener datos POST básicos en Django. Entonces, solo usar GET funcionó bien para mí. Como dijeron los otros, podría ser más fácil formatear mejor cualquier script que esté creando la consulta.
Básicamente tengo un AJAX hacer un post hacia Django, el puesto se ve un poco como esto:
params = name=somename&data=abcdefg
http.send(params);
entonces en mi view.py, lo hice
def somefuntion(request):
if request.method == 'POST':
log.info('POST applied')
alldata=request.POST
log.debug(alldata)
data = alldata.get("data", "0")
name = alldata.get("name", "0")
log.info("POST name: " + name)
log.info("POST data: " + data)
La salida de ALLDATA era:
<QueryDict: {u'data': [u'abcdefg'], u'name': [u'somename']}>
y los comandos Get dar
name: name
data: abcdefg
¡¡¡OMG !! He estado wrasslin 'con esto desde ayer. ¡Gracias! –
Esto funciona para varios valores:
dict(MyDict.lists())
teclas son Dict consulta vars, y los valores dict son listas de valores de consulta.
Puede usar - request.data.get("content")
Esto le dará los datos directamente si está en el extremo delantero (jQuery, Angular) NO ha usado JSON.stringify(data)
.
éste funciona también para los valores que están listas:
dict_ = {k: qdict.getlist(k) if len(qdict.getlist(k))>1 else v for k, v in qdict.items()}
fijar la aplicación del lado del cliente que está dando como resultado el objeto roto en primer lugar. –
¿Cómo puedo volver a crear su variable? No estoy familiarizado con la sintaxis de hits. – octopusgrabbus