【发布时间】:2017-07-04 08:58:47
【问题描述】:
我正在尝试发布具有嵌套 json、图像和其他数据的数据。 json 看起来像这样:
{
"id": ,
"venue": {
"id": ,
"name": "",
"city": "",
"address": "",
"rating": null,
"point": null
},
"name": "",
"time": "",
"event_pic": null,
"description": "",
"event_type": "Movie",
"invite_only": ,
"free": ,
"age_restriction": ,
"ticket_price": ,
"user":
}
我遇到了一个问题,如果我尝试使用多部分表单上传,我会收到如下错误消息:
Request http://zacmwa.pythonanywhere.com/api/events/ (7417ms)
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Server: openresty/1.9.15.1
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Date: Tue, 14 Feb 2017 13:21:26 GMT
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Content-Type: application/json
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Transfer-Encoding: chunked
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Connection: keep-alive
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Vary: Accept
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: X-Frame-Options: SAMEORIGIN
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: Allow: GET, POST, OPTIONS
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: {"venue":["This field is required."]}
02-14 16:21:26.468 7133-7762/com.wyat.wyat D/OkHttp: <-- END HTTP (37-byte body)
它显示 {"venue":["This field is required."]} 并向我发送 400 Bad Request。
当我从 Postman 发送时,我无法以多部分形式发送,但是当我使用 application/json 标头时,我能够解决这个问题。但是,当使用 application/json 时,我无法发送图像。
为什么它没有看到正在发送的 json 对象?DRF 希望如何发送嵌套对象?
在可浏览的 api 表单中,我可以轻松创建嵌套的 json 对象和图像,而无需更改任何内容。如何为其他客户执行此操作?
【问题讨论】:
标签: python json django django-rest-framework