1. 程式人生 > >將django rest 與 mongodb結合起來

將django rest 與 mongodb結合起來

前言 由於專案要用到mongodb,就試了試,在django框架下面,發現還不錯,儲存與獲取物件都挺簡單的。以為沒有啥特別的問題,結果今天發現,如果用rest框架去獲取API呢???  如果我們按照以往的方式,讓MyViewSet繼承自rest_framework.viewsets.ModelViewSet,MySerializer繼承自rest_framework.serializers.ModelSerializer,這樣的方式是行不通的!!!

會丟擲錯誤:AttributeError: 'QuerySet' object has no attribute 'model'

解決辦法: 點我檢視github例子

安裝為mongoengine特定的rest框架pip django-rest-framework-mongoengine

在settings.py中為INSTALLED_APPS,新增rest_framework_mongoengine

在你的serializers.py中

匯入:from rest_framework_mongoengine import serializers as mongoserializers

使你的Serializer類繼承自mongoserializers.DocumentSerializer

在你的views.py中,匯入:

from rest_framework_mongoengine.viewsets import ModelViewSet as MongoModelViewSet

使你的ViewSet繼承自MongoModelViewSet

在router進行註冊的時候,要加上第三個引數,base_name,例如:

router.register(r'exams',QuestionsViewSet,'exams')

這樣就可以正常使用了。建議大家看看我發的那個連結地址,那裡面有例項,大家參照我總結的和那個例子,相信問題應該不大。 原文:https://blog.csdn.net/q1242027878/article/details/74894296