ModelForm数据到JSON字符串

时间:2014-05-18 13:31:07

标签: python json django

我正在编写一个模型表单,在保存时需要将输入的数据构建为JSON字符串,以作为有效负载发送给请求。

我尝试了几种不同的方法,但似乎都没有。然而,当在终端中使用API​​时,我可以在手动输入JSON字符串时使其正常工作。

{
    "factory_id":"XXXX-YYYYY",
    "name":"Dance Room",
    "latitude":XX.XXXXXX,
    "longitude":YY.YYYYYY,
    "config_id":abcd,
    "visibility": "private"
}

以上是必须发送的Request JSON,但只需要factory_id,name和visibility。

class myForm(forms.ModelForm):
    class Meta:
        model = myModel
        fields = (
            'name',
            'factory_id',
            'latitude',
            'longitude',
            'visible',
            'config_id',
        )

我需要能够将这些数据传递到我的API包装器的有效负载arg中,但是这样做时我只能从API获得500个错误。

构建JSON字符串的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。它可能不是最漂亮的方式,但确实很有用。

payload = {}
payload['factory_id'] = "XXXX-YYYYY"
payload['name'] = "Dance Room"
payload['latitude'] = XX.XXXXXX
payload['longitude'] = YY.YYYYYY
payload['config_id'] = abcd
payload['visibility'] = "private"

data = json.dumps(payload)

这给了我一个很好的完美JSON字符串,可以为我的API Wrapper发送。