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

View File

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

View File

@ -1,17 +1,17 @@
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.response import Response
from apps.bi.models import Dataset
from apps.bi.serializers import DatasetSerializer, DatasetCreateUpdateSerializer, DataExecSerializer
from apps.bi.models import Dataset, DatasetRecord
from apps.bi.serializers import DatasetSerializer, DatasetCreateUpdateSerializer, DataExecSerializer, DatasetRecordSerializer
from django.apps import apps
from rest_framework import serializers
import concurrent.futures
from django.core.cache import cache
from apps.utils.sql import execute_raw_sql, format_sqldata
from apps.bi.services import check_sql_safe, format_json_with_placeholders
from rest_framework.exceptions import ParseError
from rest_framework.generics import get_object_or_404
from apps.utils.mixins import ListModelMixin
# Create your views here.
@ -136,6 +136,15 @@ class DatasetViewSet(CustomModelViewSet):
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): # 暂时不用了
# queryset = Report.objects.all()
# serializer_class = ReportSerializer