У меня проблема очень похожа на Django's Querydict bizarre behavior: bunches POST dictionary into a single key и Unit testing Django JSON View. Однако ни один из вопросов/ответов в этих потоках действительно не указывает на задание, которое у меня есть. Я пытаюсь использовать тестовый клиент Django для отправки запроса с вложенным объектом JSON (то, что я хорошо работаю с объектами JSON с значениями, отличными от JSON).Django Test Client склеивает вложенные JSON
Попытка # 1: Вот мой исходный код:
response = c.post('/verifyNewMobileUser/',
{'phoneNumber': user.get_profile().phone_number,
'pinNumber': user.get_profile().pin,
'deviceInfo': {'deviceID': '68753A44-4D6F-1226-9C60-0050E4C00067', 'deviceType': 'I'}})
Как вы можете видеть, у меня есть вложенный объект JSON в моих данных запроса. Тем не менее, это то, что выглядит как request.POST:
<QueryDict: {u'phoneNumber': [u'+15551234567'], u'pinNumber': [u'4171'], u'deviceInfo': [u'deviceType', u'deviceID']}>
Попытка # 2: Затем я попробовал, добавив на параметр типа содержимого следующим образом:
response = c.post('/verifyNewMobileUser/',
{'phoneNumber': user.get_profile().phone_number,
'pinNumber': user.get_profile().pin,
'deviceInfo': {'deviceID': '68753A44-4D6F-1226-9C60-0050E4C00067', 'deviceType': 'I'}},
'application/json')
И что я получаю в настоящее время для запроса.POST is
<QueryDict: {u"{'deviceInfo': {'deviceType': 'I', 'deviceID': '68753A44-4D6F-1226-9C60-0050E4C00067'}, 'pinNumber': 5541, 'phoneNumber': u' 15551234567'}": [u'']}>
Все, что я хочу сделать, это указать вложенный идентификатор для моих данных запроса. Есть простой способ сделать это?
JSON.dumps - лучший способ сделать это. Это должен быть принятый ответ. – boatcoder