Django rest framework i want the Json to be displayed by clubbing the risk tag key with in rest api code

試著忘記壹切 提交于 2020-07-10 10:27:22

问题


Below is the Json response from Django Rest api i want a customized output like risktag: "common" as one group and risktag: "Supply chain" as one group' and the other 'risktag' type as one group

at present when i hit the url http://127.0.0.1:8000/inidcator/?name=app&year=2019 below is the json response

   [
        {
            "id": 1,
            "year": "2019-09-28",
            "name": "Mango",
            "risk": "Global markets for....",
            "risktag": "Common"
        },
        {
            "id": 2,
            "year": "2019-09-28",
            "name": "Banana",
            "risk": "Global markets for the ....",
            "risktag": "Supply chain"
        },
 {
            "id": 3,
            "year": "2019-09-28",
            "name": "Banana",
            "risk": "Global markets for the ....",
            "risktag": "Supply chain", "Common","Market"
        },
          .
          .
          .
          .
          .
                  so on...
    ]
 code:
models.py:
'''class indicator(models.Model):
    year= models.DateField(db_column='FiscalYearEnd')
    name= models.CharField()
    risk= models.CharField()
    risktag= models.CharField() 


serializers.py:

class IndicatorSerializer(serializers.ModelSerializer):

    class Meta:
        model = indicator
        fields = ['year','name','risk', 'risktag']

views.py
filters: from django_filters import rest_framework as filters

   class indicatorDataBaseListView1Filter(filters.FilterSet):
    year = filters.NumberFilter(lookup_expr='year')
    name= filters.CharFilter(lookup_expr= 'icontains')
    risk= filters.CharFilter(lookup_expr= 'icontains')
    risktag= filters.CharFilter(lookup_expr= 'icontains')


view

   class indicatorView1(generics.ListAPIView):
    serializer_class = KeyperformanceindicatorSerializer
    queryset = Indicator.objects.all() #vice versa for get_queryset method
    filter_backends = (DjangoFilterBackend,OrderingFilter,SearchFilter)
    filterset_class = indicatorDataBaseListView1Filter

来源:https://stackoverflow.com/questions/62534306/django-rest-framework-i-want-the-json-to-be-displayed-by-clubbing-the-risk-tag-k

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!