from rest_framework import generics
from rest_framework import serializers
class NoSQLSerializer(serializers.BaseSerializer):
def to_representation(self, obj):
# If you don't have a json serializable object
# you can do the transformations here
return obj
class NoSQLViewSet(generics.ListAPIView):
serializer_class = NoSQLSerializer
def get_queryset(self):
if self.request.user.is_anonymous():
return None
# This is just an example, In a real NoSQL database
# you can just return the python representation of the
# object
obj_list = [
{ 'name':'foo', 'type':1 },
{ 'name':'bar', 'type':2 },
{ 'name':'foobar', 'type':1 },
]
return obj_list
我还不知道如何使用(或是否可以使用)路由器,因此我不得不将其添加到url列表中:
^{pr2}$
但是在那之后,所有的工作都很好,包括HTML视图。在
我对Titan一无所知,但在您的例子中,您需要做的就是将get_queryset定义为
class NoSQLViewSet(generics.ListAPIView):
serializer_class = TitanSerializer
def get_queryset(self):
return MyNosqlobject.objects.all()
我必须做类似的事情,在我的例子中,为dynamoDB表创建一个API,但是我认为这个解决方案可以应用于任何NoSQL对象,假设它是可序列化的。例如,如果您有一个python Dict对象。在
简言之,Django Rest框架中的许多很酷的功能都需要Django模型,但是没有Django模型,您仍然可以做很多事情。在
下面是创建所有对象的“列表”的示例。我正在硬编码一个数组来说明这个问题,但希望这能让它变得清楚
我还不知道如何使用(或是否可以使用)路由器,因此我不得不将其添加到url列表中:
^{pr2}$但是在那之后,所有的工作都很好,包括HTML视图。在
我对Titan一无所知,但在您的例子中,您需要做的就是将get_queryset定义为
然后专注于让泰坦系列化器工作。在
希望这有帮助。在
相关问题 更多 >
编程相关推荐