【发布时间】:2013-01-07 04:05:33
【问题描述】:
我正在开发一个使用 Django 和 MongoDB(作为模型)的应用程序。我正在尝试使用从表单中获取的数据(手动)初始化模型对象(以便将其进一步发送到另一台服务器)。模型如下所示:
class MyModel(DynamicDocument):
study_name = StringField(default="first study")
individual_name = StringField(default="individual")
file_list = ListField(StringField) # this is a list of paths to some files
在表单中我正在执行以下操作:
pilot_object = MyModel()
pilot_object.individual_name = self.data['individual_name']
pilot_object.study_name = self.data['study_name']
pilot_object.file_list = files_list #file paths (strings)
其中 self.data 是从表单接收到的数据。 现在我想按照文档中的描述将此对象(pilot_object)序列化为 JSON:
data_serialized = serializers.serialize('json', [pilot_object, ])
但我收到此错误:
“MetaDict”对象没有“concrete_model”属性
序列化失败。
谁能帮忙?
【问题讨论】:
-
我有同样的问题,发现这是因为我使用的是具有不同 QuerySet 对象的 MongoEngine。文档在这里:docs.mongoengine.org/en/latest/…
-
你找到解决办法了吗?
-
不,我最近停止寻找解决方案。 :(
-
我认为 DRF 的序列化不能在
mongoengine上工作。也许你可以试试django-rest-framework-mongoengine 或者不要使用 DRF 的序列化。 -
我遇到了类似的问题,使用来自
rest_framewrok_mongoengine seralizers的DocumentSerializer 解决了这个问题。
标签: django json mongodb serialization