feat: 添加dataset接口

This commit is contained in:
caoqianming 2024-07-26 17:32:08 +08:00
parent 2a225bdc86
commit 02a9445596
3 changed files with 20 additions and 6 deletions

View File

@ -1,5 +1,5 @@
from apps.utils.serializers import CustomModelSerializer from apps.utils.serializers import CustomModelSerializer
from apps.bi.models import Dataset from apps.bi.models import Dataset, DatasetRecord
from apps.utils.constants import EXCLUDE_FIELDS from apps.utils.constants import EXCLUDE_FIELDS
from rest_framework import serializers from rest_framework import serializers
from apps.bi.services import check_sql_safe from apps.bi.services import check_sql_safe
@ -22,6 +22,10 @@ class DatasetSerializer(CustomModelSerializer):
model = Dataset model = Dataset
fields = '__all__' fields = '__all__'
class DatasetRecordSerializer(CustomModelSerializer):
class Meta:
model = DatasetRecord
fields = '__all__'
# class ReportSerializer(CustomModelSerializer): # class ReportSerializer(CustomModelSerializer):
# class Meta: # class Meta:

View File

@ -1,6 +1,6 @@
from django.urls import path, include from django.urls import path, include
from rest_framework.routers import DefaultRouter from rest_framework.routers import DefaultRouter
from apps.bi.views import DatasetViewSet from apps.bi.views import DatasetViewSet, DatasetRecordViewSet
API_BASE_URL = 'api/bi/' API_BASE_URL = 'api/bi/'
HTML_BASE_URL = 'bi/' HTML_BASE_URL = 'bi/'
@ -8,6 +8,7 @@ HTML_BASE_URL = 'bi/'
router = DefaultRouter() router = DefaultRouter()
router.register('dataset', DatasetViewSet, basename='dataset') router.register('dataset', DatasetViewSet, basename='dataset')
# router.register('report', ReportViewSet, basename='report') # router.register('report', ReportViewSet, basename='report')
router.register('datasetrecord', DatasetRecordViewSet, basename='datasetrecord')
urlpatterns = [ urlpatterns = [
path(API_BASE_URL, include(router.urls)), path(API_BASE_URL, include(router.urls)),
] ]

View File

@ -1,17 +1,17 @@
from django.shortcuts import render from django.shortcuts import render
from apps.utils.viewsets import CustomModelViewSet from apps.utils.viewsets import CustomModelViewSet, GenericViewSet
from rest_framework.decorators import action from rest_framework.decorators import action
from rest_framework.response import Response from rest_framework.response import Response
from apps.bi.models import Dataset from apps.bi.models import Dataset, DatasetRecord
from apps.bi.serializers import DatasetSerializer, DatasetCreateUpdateSerializer, DataExecSerializer from apps.bi.serializers import DatasetSerializer, DatasetCreateUpdateSerializer, DataExecSerializer, DatasetRecordSerializer
from django.apps import apps from django.apps import apps
from rest_framework import serializers
import concurrent.futures import concurrent.futures
from django.core.cache import cache from django.core.cache import cache
from apps.utils.sql import execute_raw_sql, format_sqldata from apps.utils.sql import execute_raw_sql, format_sqldata
from apps.bi.services import check_sql_safe, format_json_with_placeholders from apps.bi.services import check_sql_safe, format_json_with_placeholders
from rest_framework.exceptions import ParseError from rest_framework.exceptions import ParseError
from rest_framework.generics import get_object_or_404 from rest_framework.generics import get_object_or_404
from apps.utils.mixins import ListModelMixin
# Create your views here. # Create your views here.
@ -136,6 +136,15 @@ class DatasetViewSet(CustomModelViewSet):
return Response(rdict) return Response(rdict)
class DatasetRecordViewSet(ListModelMixin, GenericViewSet):
perms_map = {"get": "*"}
queryset = DatasetRecord.objects.all()
serializer_class = DatasetRecordSerializer
filterset_fields = {
"timex": ["year", "month", "day"]
}
# class ReportViewSet(CustomModelViewSet): # 暂时不用了 # class ReportViewSet(CustomModelViewSet): # 暂时不用了
# queryset = Report.objects.all() # queryset = Report.objects.all()
# serializer_class = ReportSerializer # serializer_class = ReportSerializer