私はMongoDBでDjangoRestFrameworkを使用しており、MongoDBからドキュメントを取得し、それをjsonにシリアル化して、リクエストに応じて返送しようとしています。
私は次のようなデータベースモデルを持っています:
class TTest(Document):
user_id = StringField()
submission_status = StringField()
および対応するシリアライザー:
class TTestSerializer(serializers.ModelSerializer):
class Meta:
model = models.TTest
pk = "_id"
これらができたので、DBからドキュメントを取得したいと思います。そして、DjangoRestFrameworkを使用したシリアル化に関するチュートリアルに正確に従うようにしました。
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」であるとシリアライザーのメタデータで宣言したので、うまくいくはずだと思います...誰かアドバイスを手伝ってもらえますか?
ありがとう