Serialization Django Rest框架通过Views.py显示序列化数据

Serialization Django Rest框架通过Views.py显示序列化数据,serialization,django-views,django-rest-framework,django-serializer,Serialization,Django Views,Django Rest Framework,Django Serializer,我用这种方式设置了一个序列化程序,我希望使用views.py显示serialized.data(它将是这样的字典:{“version”:xx和“country_list”:[]}) 我的views.py设置如下: class International(object): """ International Class that stores versions and lists countries """ def __init__(self, versi

我用这种方式设置了一个序列化程序,我希望使用views.py显示serialized.data(它将是这样的字典:{“version”:xx和“country_list”:[]})

我的views.py设置如下:

class International(object):
    """ International Class that stores versions and lists 
        countries
    """
    def __init__(self, version, countrylist):

        self.version = version
        self.country_list = countrylist

class InternationalSerializer(serializers.Serializer):
    """ Serializer for International page 
        Lists International countries and current version
    """
    version = serializers.IntegerField(read_only=True)
    country_list = CountrySerializer(many=True, read_only=True)
我应该在这个CountryListView中编写什么代码来呈现像上面那样的词典?我真的不确定

试试这个

class CountryListView(generics.ListAPIView):
    """ Endpoint : somedomain/international/
    """

    ## want to display a dictionary like the one below

    {
       "version": 5
       "country_list" : [ { xxx } , { xxx } , { xxx } ]

    }

您可以在此基础上继续发展:

假设我们想用一种修改过的格式替换默认分页输出样式,该格式在嵌套的“links”键中包含下一个和上一个链接。我们可以指定一个自定义分页类,如下所示:

类自定义分页(分页.页码分页):
def获取分页的应答(自身、数据):
返回响应({
“链接”:{
“下一步”:self.get_next_link(),
“上一个”:self.get_previous_link()
},
“计数”:self.page.paginator.count,
“结果”:数据
})
只要您不需要分页,就可以设置一个自定义分页类,该类可以将响应打包到您可能需要的任何布局中:

class CountryListPagination(基本分页):
def获取分页的应答(自身、数据):
返回{
“版本”:5,
“国家/地区列表”:数据
}
然后,您只需为基于类的视图指定此分页:

class CountryListView(泛型.ListAPIView):
#终点:somedomain/国际/
分页\u class=CountryListPagination

让我知道这对您有何作用。

您的视图需要分页吗?
 class CountryListView(generics.ListAPIView):
        """ Endpoint : somedomain/international/
        """

       def get(self,request):

          #get your version and country_list data and
          #init your object
          international_object = International(version,country_list)
          serializer = InternationalSerializer(instance=international_object)
          your_data = serializer.data
          return your_data