2016-04-04 3 views
4

私はMongoengineでDjango RESTフレームワークを使用しています。埋め込みドキュメントでオプションのフィールドをシリアル化しようとすると、フレームワークはフィールドを必要とし、フィールドを空白にすることはできないというエラーメッセージを返します。 EmbeddedDocumentでフィールドをオプションにするにはどうすればよいですか? EmbeddedDocumentオブジェクトではなく、標準のDocumentモデルオブジェクトでうまく動作します。Django Mongoengine RESTフレームワークでEmbeddedDocumentフィールドは決してオプションではありません

マイモデル:

class Event(EmbeddedDocument): 
    id = ObjectIdField(required=True, default=ObjectId()) 
    status = StringField(required=True, max_length=50) 
    note = StringField(required=False, max_length=2000) 
    created = DateTimeField(required=True, default=timezone.now()) 

マイシリアライザ:フィールドがrequired=Falseに設定されている "NOTE" という

class EventSerializer(EmbeddedDocumentSerializer): 

    class Meta: 
     model = Event 
     depth = 2 

    def validate(self, data): 
     return data 

注意。しかし、文書をシリアライズすると、フィールドを空白にすることはできないというエラーメッセージが表示されます。ありがとうございました!

答えて

0

私は同じ問題に遭遇しました。あなたはフィールドをblank=Trueとマークすることができ、それらのフィールドには何も置かないでください。

関連する問題