2016-10-04 2 views
0

다음과 같은 속성을 가진 모델이 있습니다.MapField가 Django Rest Framework에 표시되지 않습니다. 몽고 엔진

from rest_framework_mongoengine.serializers import DocumentSerializer 

class TestSerializer(DocumentSerializer): 
    class Meta: 
     model = File 

을 단순히 다음과 같은 출력을 제공합니다 :

enter image description here

을하지만 그것은 나무를 해결하고 싶어 나는 다음과 같이 장고 나머지 프레임 워크 Mongoengine를 사용하는 것을 시도하고있다

class File(DynamicDocument): 
    country = fields.StringField(max_length=100, unique=True) 
    languages = fields.MapField(fields.MapField(
     fields.EmbeddedDocumentField(AudioImage))) 

AudioImage 클래스의 모든 필드가 포함 된 구조체입니다. 나는 무엇이 있 었는가? 또는 MapField에 다른 방법이 있습니까?

{ 
    "country": "UK", 
    "languages": { 
     "hindi": AudioImageJSON, 
     "russian": AudioImageJSON, 
     "cockney": AudioImageJSON 
    } 
} 

AudioImageJSON의 구조가 EmbeddedDocument 해당 의해 설명 :

답변

1

Sijan, 당신이 당신의 File 문서는 다음과 같은 구조를 갖고 싶어하는 것이 맞습니까? 이 경우

, 당신의 DocumentSerializer는 정확하고 다음과 같이 모델을 지정 검색 가능한 API가 EmbeddedDocument 필드의 중첩 된 형태로 입력을 표시 할 수 없습니다 것을

class AudioImage(EmbeddedDocument): 
    content = fields.FileField() 

class File(DynamicDocument): 
    country = fields.StringField(max_length=100, unique=True) 
    languages = fields.MapField(fields.EmbeddedDocumentField(AudioImage)) 

참고. 그러나 여전히 원시 데이터보기를 사용할 수 있습니다.

관련 문제