feat: bi dataset 表增加字段
This commit is contained in:
parent
eaf1a5671f
commit
d05ee1595c
|
@ -0,0 +1,10 @@
|
||||||
|
from apps.bi.models import Dataset
|
||||||
|
|
||||||
|
|
||||||
|
def correct_bi_test_param():
|
||||||
|
dss = Dataset.objects.all()
|
||||||
|
for ds in dss:
|
||||||
|
if not ds.test_param and ds.default_param:
|
||||||
|
ds.test_param = ds.default_param
|
||||||
|
ds.default_param = {}
|
||||||
|
ds.save()
|
|
@ -0,0 +1,18 @@
|
||||||
|
# Generated by Django 3.2.12 on 2024-03-19 03:21
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('bi', '0003_dataset_default_param'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AddField(
|
||||||
|
model_name='dataset',
|
||||||
|
name='test_param',
|
||||||
|
field=models.JSONField(blank=True, default=dict, verbose_name='测试查询参数'),
|
||||||
|
),
|
||||||
|
]
|
|
@ -9,6 +9,7 @@ class Dataset(CommonBDModel):
|
||||||
description = models.TextField('描述说明', default='', blank=True)
|
description = models.TextField('描述说明', default='', blank=True)
|
||||||
sql_query = models.TextField('sql查询语句', default='', blank=True)
|
sql_query = models.TextField('sql查询语句', default='', blank=True)
|
||||||
echart_options = models.TextField(default='', blank=True)
|
echart_options = models.TextField(default='', blank=True)
|
||||||
|
test_param = models.JSONField('测试查询参数', default=dict, blank=True)
|
||||||
default_param = models.JSONField('默认查询参数', default=dict, blank=True)
|
default_param = models.JSONField('默认查询参数', default=dict, blank=True)
|
||||||
cache_seconds = models.PositiveIntegerField('缓存秒数', default=10, blank=True)
|
cache_seconds = models.PositiveIntegerField('缓存秒数', default=10, blank=True)
|
||||||
|
|
||||||
|
|
|
@ -73,10 +73,12 @@ class DatasetViewSet(CustomModelViewSet):
|
||||||
|
|
||||||
if dt.sql_query:
|
if dt.sql_query:
|
||||||
try:
|
try:
|
||||||
|
if dt.default_param:
|
||||||
|
query.update(dt.default_param)
|
||||||
sql_f_ = check_sql_safe(dt.sql_query.format(**query))
|
sql_f_ = check_sql_safe(dt.sql_query.format(**query))
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
if is_test and dt.default_param:
|
if is_test and dt.test_param:
|
||||||
new_query = dt.default_param
|
new_query = dt.test_param
|
||||||
new_query.update(query)
|
new_query.update(query)
|
||||||
try:
|
try:
|
||||||
sql_f_ = check_sql_safe(
|
sql_f_ = check_sql_safe(
|
||||||
|
|
Loading…
Reference in New Issue