我不熟悉django,它使用sqldb作为默认值,但也将其连接到mongodb。在我的模型.py我
from mongoengine import Document, EmbeddedDocument, fields
class ToolInput(EmbeddedDocument):
name = fields.StringField(required=True)
value = fields.DynamicField(required=True)
class Tool(Document):
label = fields.StringField(required=True)
description = fields.StringField(required=True, null=True)
inputs = fields.ListField(fields.EmbeddedDocumentField(ToolInput))
在我的序列化程序.py我有:
^{pr2}$在我的api.py文件我有:
from .serializers import ListSerializer, CardSerializer, ToolSerializer
from rest_framework.generics import ListAPIView
from rest_framework_mongoengine import viewsets as mongoViewsets
from .models import List, Card, Tool
class ToolApi(mongoViewsets.ModelViewSet):
#lookup_field = 'id'
queryset = Tool.objects.all()
serializer_class = ToolSerializer
在我的网址.py我有:
from django.conf.urls import include, url
from .api importToolApi
urlpatterns = [
url(r'Tool', ToolApi.as_view({'get': 'Tool'})),
]
当我调用此api时,错误提示:-“ToolApi”对象没有“Tool”属性
之前我使用的是rest的ListAPIView类_框架.泛型创建从sql访问数据的api。错误是因为我对ToolApi使用了ModelViewSet吗?在
PS-请让我参考一些同时使用mongodb和sql的git项目
抱歉迟了回复,Shubham。在
我认为,问题是您不应该在以下情况下使用
{'get': 'Tool'}
:相反,您应该使用类似于:
^{pr2}$或者
至于回购的例子,恐怕我不能提供比:https://github.com/BurkovBA/django-rest-framework-mongoengine-example/stargazers更好的了。在
相关问题 更多 >
编程相关推荐