Mongodb Django Rest框架序列化失败:“MetaDict”对象没有属性“pk”
我将Django Rest框架与MongoDB一起使用,我试图从MongoDB检索一个文档,然后将其序列化为json,以便将其发送回请求 我有一个如下所示的数据库模型:Mongodb Django Rest框架序列化失败:“MetaDict”对象没有属性“pk”,mongodb,mongoengine,django-rest-framework,Mongodb,Mongoengine,Django Rest Framework,我将Django Rest框架与MongoDB一起使用,我试图从MongoDB检索一个文档,然后将其序列化为json,以便将其发送回请求 我有一个如下所示的数据库模型: class TTest(Document): user_id = StringField() submission_status = StringField() 和相应的序列化程序: class TTestSerializer(serializers.ModelSerializer): class
class TTest(Document):
user_id = StringField()
submission_status = StringField()
和相应的序列化程序:
class TTestSerializer(serializers.ModelSerializer):
class Meta:
model = models.TTest
pk = "_id"
现在有了这些,我希望从DB中检索一个文档,并且我尝试完全按照关于使用Django Rest框架进行序列化的教程进行操作:
queryset = models.TTest.objects.filter(user_id='bbb') # retrieving documents using mongoengine
serializer = TTestSerializer(queryset)
dt = serializer.data
print "DATA SERIALIZED: ", dt
当我运行这些行并尝试序列化时,返回以下错误:
AttributeError: 'MetaDict' object has no attribute 'pk'
理论上,我认为它应该可以工作,因为我在序列化程序的元数据中声明主键是_id…有人能帮我提个建议吗
谢谢在序列化程序类中没有这样的选项“pk”,所以不会有任何影响 我对mongoengine了解不多,但如果对象不是标准的Django模型实例,我希望您需要使用普通的“Serializer”类,而不是“ModelSerializer” 在REST框架邮件列表中询问有关REST框架和mongoengine的问题是值得的,因为我知道还有其他人也在这样做
序列化程序类中没有这样的选项“pk”,所以这不会有任何影响 我对mongoengine了解不多,但如果对象不是标准的Django模型实例,我希望您需要使用普通的“Serializer”类,而不是“ModelSerializer” 在REST框架邮件列表中询问有关REST框架和mongoengine的问题是值得的,因为我知道还有其他人也在这样做
Mongoengine不是Django的ORM的直接替代品,因此可能无法与期望使用普通ORM的库进行本地集成
您可能希望尝试使用mongoengine。mongoengine不是Django的ORM的直接替代品,因此可能无法与需要普通ORM的库进行本地集成
您可能希望尝试使用mongoengine。请注意,django-tastypie-mongoengine是根据AGPLv3授权的。请注意,django-tastypie-mongoengine是根据AGPLv3授权的