예제 #1
0
def finance_extra_chart_fields(request, *args, **kwargs):
    extra_fields = {
        model_name: models.get_log_class(model_name).get_extra_chart_fields()
        for model_name in finance_categories
    }

    return response.Response(extra_fields)
예제 #2
0
def create_viewset(model_name):

    model_class = models.get_finance_class(model_name)
    log_model_class = models.get_log_class(model_name)

    class FinanceAPIViewSet(viewsets.ReadOnlyModelViewSet, ListCacheMixin):

        model = model_class
        serializer_class = serializers.get_serializer_class(model_class)

    class FinanceLogAPIViewSet(viewsets.ReadOnlyModelViewSet, ListCacheMixin):

        model = log_model_class
        serializer_class = serializers.get_log_serializer_class(log_model_class)

        def get_queryset(self):
            pk = int(self.kwargs['finance_pk'])
            return log_model_class.objects.filter(finance_object = pk)

    return (FinanceAPIViewSet, FinanceLogAPIViewSet)