2014-05-18 1 views
1

저장시 payload로 요청에 보낼 JSON 문자열에 입력 된 데이터를 저장해야하는 모델 양식을 작성 중입니다.ModelForm 데이터 - JSON 문자열

몇 가지 방법을 시도했지만 어느 것도 작동하지 않습니다. 그러나 터미널에서 API를 사용할 때 JSON String을 수동으로 입력 할 때 API가 제대로 작동하도록 할 수 있습니다.

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

위의 내용은 보내야하는 요청 JSON이지만 factory_id, 이름 및 가시성 만 필요합니다.

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

나는 나의 API 래퍼의 페이로드의 인수로 데이터를 전달 할 수 있어야하지만,이 방법을 수행 할 때 난 그냥 API에서 500 오류를 얻을.

JSON 문자열을 작성하는 가장 좋은 방법은 무엇입니까?

답변

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) 

그러면 내 API 래퍼로 보낼 준비가 된 완벽한 JSON 문자열이 생겼습니다.