valar 1.3.8__py3-none-any.whl → 1.3.9__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of valar might be problematic. Click here for more details.

valar/dao/__init__.py CHANGED
@@ -15,7 +15,7 @@ class Dao(AbstractDao):
15
15
  self.manager = self.dao.manager
16
16
 
17
17
  def save_many(self, array: list):
18
- self.dao.save_many(array)
18
+ return self.dao.save_many(array)
19
19
 
20
20
  def save_one(self, item):
21
21
  return self.dao.save_one(item)
valar/dao/frame.py CHANGED
@@ -20,7 +20,7 @@ class MetaFrame(metaclass=SingletonMeta):
20
20
  item.update({"saved": True})
21
21
  if item['isLeaf']:
22
22
  mapping[code] = _id
23
- tool_dao.save_one(item, True)
23
+ tool_dao.save_one(item)
24
24
  for row in meta_field_domain:
25
25
  row = copy.deepcopy(row)
26
26
  default_id, tools = row['default_id'], row['tools']
valar/dao/orm_dao.py CHANGED
@@ -38,9 +38,11 @@ class OrmDao(AbstractDao):
38
38
  self.fields = fields
39
39
 
40
40
  def save_many(self, array: list):
41
+ results = []
41
42
  for item in array:
42
43
  item.update({'saved': True})
43
- self.save_one(item)
44
+ results.append(self.save_one(item))
45
+ return results
44
46
 
45
47
  def values(self, conditions, props: list):
46
48
  query_set, _ = self.find(conditions)
valar/models/indicator.py CHANGED
@@ -2,17 +2,17 @@ from ..models.core import VTree, VModel
2
2
  from django.db import models
3
3
 
4
4
 
5
- class IndicatorTree(VTree):
6
- V1 = models.CharField(max_length=100, null=True)
7
- V2 = models.CharField(max_length=100, null=True)
8
- V3 = models.CharField(max_length=100, null=True)
9
- V4 = models.CharField(max_length=100, null=True)
5
+ class IndicatorSet(VTree):
6
+ name = models.CharField(max_length=100, null=True)
10
7
 
11
8
  class Meta:
12
9
  verbose_name = '指标集'
13
10
 
14
11
 
15
- class IndicatorSet(VModel):
12
+ class Indicator(VModel):
13
+ set = models.ForeignKey(IndicatorSet, null=True, on_delete=models.CASCADE, verbose_name='指标集')
14
+ domain = models.CharField(max_length=100, verbose_name='domain', null=True)
15
+ category = models.CharField(max_length=100, verbose_name='category', null=True)
16
16
  name = models.CharField(max_length=100, verbose_name='名称', null=True)
17
17
  frequency = models.CharField(max_length=100, verbose_name='频度', null=True)
18
18
  unit = models.CharField(max_length=100, verbose_name='单位', null=True)
@@ -21,4 +21,19 @@ class IndicatorSet(VModel):
21
21
  file = models.FileField(null=True, verbose_name='数据文件')
22
22
 
23
23
  class Meta:
24
- verbose_name = '指标集'
24
+ verbose_name = '指标项'
25
+
26
+
27
+ class IndicatorLocation(VModel):
28
+ set = models.ForeignKey(IndicatorSet, null=True, on_delete=models.CASCADE, verbose_name='指标集')
29
+ domain = models.CharField(max_length=100, verbose_name='domain', null=True)
30
+ category = models.CharField(max_length=100, verbose_name='category', null=True)
31
+ name = models.CharField(max_length=100, verbose_name='名称', null=True)
32
+ frequency = models.CharField(max_length=100, verbose_name='频度', null=True)
33
+ unit = models.CharField(max_length=100, verbose_name='单位', null=True)
34
+ scope = models.CharField(max_length=100, verbose_name='尺度', null=True)
35
+ object_id = models.CharField(max_length=100, verbose_name='ObjectId', null=True)
36
+ file = models.FileField(null=True, verbose_name='数据文件')
37
+
38
+ class Meta:
39
+ verbose_name = '指标项'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: valar
3
- Version: 1.3.8
3
+ Version: 1.3.9
4
4
  Summary: valar for morghulis
5
5
  Home-page: https://gitee.com/GRIFFIN120/valar_dev
6
6
  Author: LYP
@@ -18,35 +18,26 @@ valar/classes/valar_response.py,sha256=C7jfWZFy5jPWioIHbq7XprzoCfNy1slmhcaQw7KBI
18
18
  valar/classes/app_mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
19
  valar/classes/app_mixins/auto_migration_mixin.py,sha256=lHKY5UnWyDVuEntmiJxF2AcoHFGwa4IRTygGW3zfO7w,330
20
20
  valar/classes/app_mixins/auto_urlpatterns_mixin.py,sha256=FX-t-TJWawXyS2r6jbj_IrJBpzwMbWzIjyK6PsHL6XE,415
21
- valar/dao/__init__.py,sha256=8RTx5vcHk98JFMETjyue1jEyf-rLAEYX_5DMMA1YTVI,1311
21
+ valar/dao/__init__.py,sha256=WHV6lPXhHkjUoo_Sp1SBoYKOLYtP6RPk0_4HE9Gp5Lg,1318
22
22
  valar/dao/abstract.py,sha256=3_9lS4bShAlrp_nv0wbBGrLVDnkvaeH2FxJTcJT-orA,2434
23
23
  valar/dao/engine.py,sha256=wiMOGr_RQYAzLr91C0WkxCQMMlJ-qsZf3IV-NlEwf04,3058
24
- valar/dao/frame.py,sha256=9vDsJfB-Ztb4YN8Lt6pHJeF_RndqHsVeA_ygWIOgALM,7468
24
+ valar/dao/frame.py,sha256=cz2SWcRgKww0XVNZpCcPD3ACcW6q6piMba2StshT60M,7462
25
25
  valar/dao/meta.py,sha256=2o720rFqPdDxQ0yXW74zHU0m914PfKkzvLwPINtiRbg,5051
26
26
  valar/dao/mon_dao.py,sha256=dyBM3B8qbcJrbtnTA6SabrtMKQnWkdK56N4u7uYdN7Y,3573
27
27
  valar/dao/mon_field.py,sha256=AJp-KS19oRiRHtMidC_1uTv2oCplqO4-bdKNDLMllWU,570
28
- valar/dao/orm_dao.py,sha256=qt761SWRZx2-4bt8KSRNC-sxif8FkkqclAJCqPuHOk4,13598
28
+ valar/dao/orm_dao.py,sha256=cspQs3Qis5ZuVQ13537l5-9wo3c9uRpAiXVf1Jw6-jM,13658
29
29
  valar/dao/orm_field.py,sha256=qADDGPM_EUVxP2VEGfnb2m97gYeSFxXt5fOmY2Df11c,4981
30
30
  valar/dao/query.py,sha256=7MqCdwjdhXWBWjEggHVFQfC0zlZH3TrwuVxKE7E0OKA,1049
31
31
  valar/dao/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
32
  valar/dao/defaults/field_keys_default.py,sha256=ZgF-7s4yABz2uoInxuhg4uy9flbAR7btHDipJkqZj0M,2153
33
33
  valar/dao/defaults/field_values_default.py,sha256=6zKPqbw0vJKW_9ilj6PC7IgDyayiWjHsNc4y7aVzuNw,3552
34
34
  valar/dao/defaults/view_defaults.py,sha256=v2wEgiaXqEcM4lcjM2uV83cLA5EJZf6qHfLZ7YJikIg,572
35
- valar/migrations/0001_initial.py,sha256=444IkQRbG65g8KZjXr_qjINIUY8CszVOKjoPd8RA5Cc,20483
36
- valar/migrations/0002_indicatortree.py,sha256=bJJmmaROHnD0au27Fp12fjFNAIff5tucM1BAx8zpRwg,1632
37
- valar/migrations/0003_remove_indicatortree_frequency_and_more.py,sha256=YI5Zm1xTqgQ63YYsT5lwMzIvLa8jd_q8SqXHdS_gKng,1282
38
- valar/migrations/0004_delete_indicatortree.py,sha256=BD7VeVij2-euyZ-AKAROB95In3cy_nwaW8i-FIqNGLE,322
39
- valar/migrations/0005_indicatortree_indicatorset.py,sha256=OLYuvBV0xDbfuviyWRMs0ppLhvcynoVFylqv__kOnq4,2843
40
- valar/migrations/0006_alter_indicatorset_unique_together_and_more.py,sha256=vXhZmI91lkRjeJrLb-iI1NarQWlkSo3CgpvhF3T3Tjw,471
41
- valar/migrations/0007_indicatorset_file_indicatorset_unit.py,sha256=Bz9gX853D6odAOSHte2UYtRLvpxNVXUtlNN0yH1A47c,641
42
- valar/migrations/0008_indicatorset_object_id_alter_indicatorset_unit.py,sha256=jPtL6CyNDIJ5y8s11e3i8L7mtnkDzwYBFx4debomMSE,636
43
- valar/migrations/0009_alter_indicatorset_object_id.py,sha256=g9cIptXYxISWDFJ7cGujs7tGoXH1XwcR1_d4DKYy5X4,459
44
35
  valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
36
  valar/models/__init__.py,sha256=GMosgOi_o4kFIyReJg1qFqtbWSob5Mazd5FSGT_zfqI,55
46
37
  valar/models/auth.py,sha256=nxtLgJwBEgvYWXATcN-RN1e5LIzeUzK97jExUSjoIOk,1710
47
38
  valar/models/core.py,sha256=ghtfs8uFH6SC0xvd-gkARr-FUWDXG0IMGWSuETOvecw,3695
48
39
  valar/models/frame.py,sha256=N13Bok7XNJDLoYDCpCIq8tEUktQVNerrLtk_U0KDJAE,851
49
- valar/models/indicator.py,sha256=3_Z3_RPdJN_6q3bOC16mLd8IL3C3ehmacKedkWj6x5c,916
40
+ valar/models/indicator.py,sha256=53DshABsfATdnPMo9w810cxmNDru4AT2NmTg0UPrP_Y,1851
50
41
  valar/models/meta.py,sha256=sNCYJZKzx8JNbRidgRQunwIHYn9WXm89Svoc7-uutd4,4967
51
42
  valar/models/test.py,sha256=3yfyZHJgviEybV1NyN4Qs1BGKE3DvAtb_e4oFI2MVos,1319
52
43
  valar/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -56,8 +47,8 @@ valar/views/handler.py,sha256=KlXWhVU-b_b5uxrUwQBHW7H4shSPy4NnXj6AINM_Joo,1619
56
47
  valar/views/meta.py,sha256=H3_raG-LEcfg1p_CBpluhPXBsLFQB_jtaI5CKGgYOKk,4774
57
48
  valar/views/password.py,sha256=O094qG8Sh4ilT_wpEMw4IZtAlcQjrDVcFD5BHaWKg2Q,2127
58
49
  valar/views/rest.py,sha256=uTx9LdSvM80YB8iYTEG_GjPhLxoNwXa5-tn3P7by-tg,2474
59
- valar-1.3.8.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
60
- valar-1.3.8.dist-info/METADATA,sha256=1t40q0kXwZEjSjIQaH7n6hiHPiZIepOwECi7L76sewY,5172
61
- valar-1.3.8.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
62
- valar-1.3.8.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
63
- valar-1.3.8.dist-info/RECORD,,
50
+ valar-1.3.9.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
51
+ valar-1.3.9.dist-info/METADATA,sha256=Iblg3OYoWI2cmpuQd5CeW1vN6SCejfb5r6CrVRzxmQA,5172
52
+ valar-1.3.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
53
+ valar-1.3.9.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
54
+ valar-1.3.9.dist-info/RECORD,,
@@ -1,301 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-18 18:23
2
-
3
- from django.db import migrations, models
4
- import django.db.models.deletion
5
-
6
-
7
- class Migration(migrations.Migration):
8
-
9
- initial = True
10
-
11
- dependencies = [
12
- ]
13
-
14
- operations = [
15
- migrations.CreateModel(
16
- name='Meta',
17
- fields=[
18
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
19
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
20
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
21
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
22
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
23
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
24
- ('db', models.CharField(max_length=100, null=True, verbose_name='数据库')),
25
- ('entity', models.CharField(max_length=100, null=True, verbose_name='数据源')),
26
- ('name', models.CharField(max_length=50, null=True, verbose_name='实体别名')),
27
- ('tree', models.BooleanField(default=False, verbose_name='是否树形')),
28
- ],
29
- options={
30
- 'verbose_name': '数据实体',
31
- 'unique_together': {('db', 'entity')},
32
- },
33
- ),
34
- migrations.CreateModel(
35
- name='MetaFieldTool',
36
- fields=[
37
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
38
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
39
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
40
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
41
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
42
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
43
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
44
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
45
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
46
- ('name', models.CharField(max_length=255, null=True, verbose_name='名称')),
47
- ('code', models.CharField(max_length=100, null=True, unique=True, verbose_name='代码')),
48
- ('align', models.CharField(max_length=10, null=True, verbose_name='对齐方式')),
49
- ],
50
- options={
51
- 'verbose_name': '元数据字段工具',
52
- },
53
- ),
54
- migrations.CreateModel(
55
- name='MetaViewDefault',
56
- fields=[
57
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
58
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
59
- ('name', models.CharField(max_length=50, null=True)),
60
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
61
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
62
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
63
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
64
- ],
65
- options={
66
- 'verbose_name': '元数据字段类型',
67
- },
68
- ),
69
- migrations.CreateModel(
70
- name='Role',
71
- fields=[
72
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
73
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
74
- ('name', models.CharField(max_length=50, null=True)),
75
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
76
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
77
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
78
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
79
- ('duty', models.TextField(null=True, verbose_name='职责描述')),
80
- ],
81
- options={
82
- 'verbose_name': '角色',
83
- },
84
- ),
85
- migrations.CreateModel(
86
- name='Valar',
87
- fields=[
88
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
89
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
90
- ('name', models.CharField(max_length=50, null=True)),
91
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
92
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
93
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
94
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
95
- ('text_field', models.TextField(null=True, verbose_name='Text Field')),
96
- ('boolean_field', models.BooleanField(null=True, verbose_name='Boolean Field')),
97
- ('integer_field', models.IntegerField(null=True, verbose_name='Integer Field')),
98
- ('float_field', models.FloatField(null=True, verbose_name='Float Field')),
99
- ('date_field', models.DateField(null=True, verbose_name='Date Field')),
100
- ('datetime_field', models.DateTimeField(null=True, verbose_name='Datetime Field')),
101
- ('time_field', models.TimeField(null=True, verbose_name='Time Field')),
102
- ('json_field', models.JSONField(null=True, verbose_name='Json Field')),
103
- ('file', models.FileField(null=True, upload_to='', verbose_name='File Field')),
104
- ],
105
- options={
106
- 'abstract': False,
107
- },
108
- ),
109
- migrations.CreateModel(
110
- name='Voo',
111
- fields=[
112
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
113
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
114
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
115
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
116
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
117
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
118
- ('name', models.CharField(max_length=100, null=True, verbose_name='Name')),
119
- ('valar', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to='valar.valar', verbose_name='Valar')),
120
- ],
121
- options={
122
- 'abstract': False,
123
- },
124
- ),
125
- migrations.CreateModel(
126
- name='Vmo',
127
- fields=[
128
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
129
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
130
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
131
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
132
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
133
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
134
- ('name', models.CharField(max_length=100, null=True, verbose_name='Name')),
135
- ('valar', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='valar.valar', verbose_name='Valar')),
136
- ],
137
- options={
138
- 'abstract': False,
139
- },
140
- ),
141
- migrations.CreateModel(
142
- name='Vmm',
143
- fields=[
144
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
145
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
146
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
147
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
148
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
149
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
150
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
151
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
152
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
153
- ('name', models.CharField(max_length=100, null=True, verbose_name='name')),
154
- ('valars', models.ManyToManyField(to='valar.valar', verbose_name='valars')),
155
- ],
156
- options={
157
- 'abstract': False,
158
- },
159
- ),
160
- migrations.CreateModel(
161
- name='MetaView',
162
- fields=[
163
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
164
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
165
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
166
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
167
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
168
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
169
- ('property', models.JSONField(default=dict, verbose_name='属性')),
170
- ('code', models.CharField(default='default ', max_length=50, verbose_name='类视图')),
171
- ('name', models.CharField(max_length=50, null=True, verbose_name='视图名称')),
172
- ('lock', models.BooleanField(default=False, verbose_name='锁定元数据')),
173
- ('enable', models.BooleanField(default=True, verbose_name='是否启用')),
174
- ('form_width', models.IntegerField(null=True, verbose_name='表单宽度')),
175
- ('form_height', models.IntegerField(null=True, verbose_name='表单高度')),
176
- ('table_width', models.IntegerField(null=True, verbose_name='表格宽度')),
177
- ('table_height', models.IntegerField(null=True, verbose_name='表格高度')),
178
- ('allow_search', models.BooleanField(default=True, verbose_name='检索功能')),
179
- ('allow_order', models.BooleanField(default=True, verbose_name='排序功能')),
180
- ('allow_insert', models.BooleanField(default=True, verbose_name='新增功能')),
181
- ('allow_edit', models.BooleanField(default=True, verbose_name='编辑功能')),
182
- ('allow_edit_on_form', models.BooleanField(default=True, verbose_name='表单编辑')),
183
- ('allow_edit_on_cell', models.BooleanField(default=True, verbose_name='表内编辑')),
184
- ('allow_edit_on_sort', models.BooleanField(default=True, verbose_name='移动功能')),
185
- ('allow_remove', models.BooleanField(default=True, verbose_name='删除功能')),
186
- ('allow_download', models.BooleanField(default=True, verbose_name='下载功能')),
187
- ('allow_upload', models.BooleanField(default=True, verbose_name='上传功能')),
188
- ('meta', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='valar.meta', verbose_name='元数据')),
189
- ],
190
- options={
191
- 'verbose_name': '数据视图',
192
- 'unique_together': {('meta', 'code')},
193
- },
194
- ),
195
- migrations.CreateModel(
196
- name='MetaFieldDomain',
197
- fields=[
198
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
199
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
200
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
201
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
202
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
203
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
204
- ('name', models.CharField(max_length=255, null=True, unique=True, verbose_name='名称')),
205
- ('default', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='valar.metafieldtool', verbose_name='默认工具')),
206
- ('tools', models.ManyToManyField(to='valar.metafieldtool', verbose_name='工具集')),
207
- ],
208
- options={
209
- 'verbose_name': '元数据字段类型',
210
- },
211
- ),
212
- migrations.CreateModel(
213
- name='MetaField',
214
- fields=[
215
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
216
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
217
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
218
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
219
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
220
- ('prop', models.CharField(max_length=100, verbose_name='字段名称')),
221
- ('label', models.CharField(max_length=100, verbose_name='字段标签')),
222
- ('name', models.CharField(max_length=100, verbose_name='字段别名')),
223
- ('domain', models.CharField(max_length=100, verbose_name='字段类型')),
224
- ('tool', models.CharField(default='default', max_length=100, verbose_name='工具组件')),
225
- ('refer', models.JSONField(default=dict, verbose_name='索引')),
226
- ('format', models.JSONField(default=dict, verbose_name='格式')),
227
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
228
- ('not_null', models.BooleanField(default=False, verbose_name='不为空')),
229
- ('allow_edit', models.BooleanField(default=True, verbose_name='可编辑')),
230
- ('allow_order', models.BooleanField(default=True, verbose_name='可排序')),
231
- ('allow_search', models.BooleanField(default=True, verbose_name='可搜索')),
232
- ('allow_download', models.BooleanField(default=True, verbose_name='可下载')),
233
- ('allow_upload', models.BooleanField(default=True, verbose_name='可上传')),
234
- ('allow_update', models.BooleanField(default=True, verbose_name='可更新')),
235
- ('unit', models.CharField(max_length=55, null=True, verbose_name='单位符')),
236
- ('column_width', models.FloatField(default=0, verbose_name='表头宽度')),
237
- ('align', models.CharField(max_length=55, null=True, verbose_name='对齐方式')),
238
- ('fixed', models.CharField(max_length=100, null=True, verbose_name='固定位置')),
239
- ('header_color', models.CharField(max_length=55, null=True, verbose_name='表头颜色')),
240
- ('cell_color', models.CharField(max_length=55, null=True, verbose_name='单元颜色')),
241
- ('edit_on_table', models.BooleanField(default=True, verbose_name='表格编辑')),
242
- ('hide_on_table', models.BooleanField(default=False, verbose_name='表内隐藏')),
243
- ('span', models.IntegerField(default=0, verbose_name='表单占位')),
244
- ('hide_on_form', models.BooleanField(default=False, verbose_name='表单隐藏')),
245
- ('hide_on_form_edit', models.BooleanField(default=False, verbose_name='编辑隐藏')),
246
- ('hide_on_form_insert', models.BooleanField(default=False, verbose_name='新增隐藏')),
247
- ('hide_on_form_branch', models.BooleanField(default=False, verbose_name='分支隐藏')),
248
- ('hide_on_form_leaf', models.BooleanField(default=False, verbose_name='叶子隐藏')),
249
- ('view', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='valar.metaview', verbose_name='数据视图')),
250
- ],
251
- options={
252
- 'verbose_name': '视图字段',
253
- },
254
- ),
255
- migrations.CreateModel(
256
- name='Account',
257
- fields=[
258
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
259
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
260
- ('name', models.CharField(max_length=50, null=True)),
261
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
262
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
263
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
264
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
265
- ('username', models.CharField(max_length=255, null=True, unique=True, verbose_name='账号')),
266
- ('password', models.CharField(max_length=255, null=True, verbose_name='密码')),
267
- ('email', models.CharField(max_length=255, null=True, unique=True, verbose_name='邮箱')),
268
- ('is_admin', models.BooleanField(default=False, verbose_name='超级管理员')),
269
- ('is_active', models.BooleanField(default=False, verbose_name='激活状态')),
270
- ('token', models.CharField(max_length=255, null=True, verbose_name='Token')),
271
- ('roles', models.ManyToManyField(to='valar.role')),
272
- ],
273
- options={
274
- 'verbose_name': '账户信息',
275
- },
276
- ),
277
- migrations.CreateModel(
278
- name='Menu',
279
- fields=[
280
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
281
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
282
- ('name', models.CharField(max_length=50, null=True)),
283
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
284
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
285
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
286
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
287
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
288
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
289
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
290
- ('scope', models.CharField(max_length=100, null=True, verbose_name='域')),
291
- ('path', models.CharField(max_length=255, null=True, verbose_name='地址')),
292
- ('is_admin', models.BooleanField(default=False, null=True, verbose_name='超管权限')),
293
- ('is_auth', models.BooleanField(default=False, null=True, verbose_name='需要登录')),
294
- ('roles', models.ManyToManyField(to='valar.role')),
295
- ],
296
- options={
297
- 'verbose_name': '菜单',
298
- 'unique_together': {('scope', 'path')},
299
- },
300
- ),
301
- ]
@@ -1,34 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:24
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0001_initial'),
10
- ]
11
-
12
- operations = [
13
- migrations.CreateModel(
14
- name='IndicatorTree',
15
- fields=[
16
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
18
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
19
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
20
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
21
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
22
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
23
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
24
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
25
- ('name', models.CharField(max_length=100, null=True, verbose_name='名称')),
26
- ('frequency', models.CharField(max_length=100, null=True, verbose_name='频度')),
27
- ('scope', models.CharField(max_length=100, null=True, verbose_name='尺度')),
28
- ],
29
- options={
30
- 'verbose_name': '指标集',
31
- 'unique_together': {('name', 'pid')},
32
- },
33
- ),
34
- ]
@@ -1,46 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:55
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0002_indicatortree'),
10
- ]
11
-
12
- operations = [
13
- migrations.RemoveField(
14
- model_name='indicatortree',
15
- name='frequency',
16
- ),
17
- migrations.RemoveField(
18
- model_name='indicatortree',
19
- name='scope',
20
- ),
21
- migrations.AddField(
22
- model_name='indicatortree',
23
- name='V1',
24
- field=models.CharField(max_length=100, null=True),
25
- ),
26
- migrations.AddField(
27
- model_name='indicatortree',
28
- name='V2',
29
- field=models.CharField(max_length=100, null=True),
30
- ),
31
- migrations.AddField(
32
- model_name='indicatortree',
33
- name='V3',
34
- field=models.CharField(max_length=100, null=True),
35
- ),
36
- migrations.AddField(
37
- model_name='indicatortree',
38
- name='V4',
39
- field=models.CharField(max_length=100, null=True),
40
- ),
41
- migrations.AlterField(
42
- model_name='indicatortree',
43
- name='name',
44
- field=models.CharField(max_length=50, null=True),
45
- ),
46
- ]
@@ -1,16 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:55
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0003_remove_indicatortree_frequency_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.DeleteModel(
14
- name='IndicatorTree',
15
- ),
16
- ]
@@ -1,54 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:55
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0004_delete_indicatortree'),
10
- ]
11
-
12
- operations = [
13
- migrations.CreateModel(
14
- name='IndicatorTree',
15
- fields=[
16
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
17
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
18
- ('name', models.CharField(max_length=50, null=True)),
19
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
20
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
21
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
22
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
23
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
24
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
25
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
26
- ('V1', models.CharField(max_length=100, null=True)),
27
- ('V2', models.CharField(max_length=100, null=True)),
28
- ('V3', models.CharField(max_length=100, null=True)),
29
- ('V4', models.CharField(max_length=100, null=True)),
30
- ],
31
- options={
32
- 'verbose_name': '指标集',
33
- 'unique_together': {('name', 'pid')},
34
- },
35
- ),
36
- migrations.CreateModel(
37
- name='IndicatorSet',
38
- fields=[
39
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
40
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
41
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
42
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
43
- ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
44
- ('saved', models.BooleanField(default=False, verbose_name='已保存')),
45
- ('name', models.CharField(max_length=100, null=True, verbose_name='名称')),
46
- ('frequency', models.CharField(max_length=100, null=True, verbose_name='频度')),
47
- ('scope', models.CharField(max_length=100, null=True, verbose_name='尺度')),
48
- ],
49
- options={
50
- 'verbose_name': '指标集',
51
- 'unique_together': {('name', 'pid')},
52
- },
53
- ),
54
- ]
@@ -1,21 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:56
2
-
3
- from django.db import migrations
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0005_indicatortree_indicatorset'),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterUniqueTogether(
14
- name='indicatorset',
15
- unique_together=set(),
16
- ),
17
- migrations.AlterUniqueTogether(
18
- name='indicatortree',
19
- unique_together=set(),
20
- ),
21
- ]
@@ -1,23 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:58
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0006_alter_indicatorset_unique_together_and_more'),
10
- ]
11
-
12
- operations = [
13
- migrations.AddField(
14
- model_name='indicatorset',
15
- name='file',
16
- field=models.FileField(null=True, upload_to='', verbose_name='数据文件'),
17
- ),
18
- migrations.AddField(
19
- model_name='indicatorset',
20
- name='unit',
21
- field=models.CharField(max_length=100, null=True, verbose_name='尺度'),
22
- ),
23
- ]
@@ -1,23 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:58
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0007_indicatorset_file_indicatorset_unit'),
10
- ]
11
-
12
- operations = [
13
- migrations.AddField(
14
- model_name='indicatorset',
15
- name='object_id',
16
- field=models.CharField(max_length=100, null=True, verbose_name='尺度'),
17
- ),
18
- migrations.AlterField(
19
- model_name='indicatorset',
20
- name='unit',
21
- field=models.CharField(max_length=100, null=True, verbose_name='单位'),
22
- ),
23
- ]
@@ -1,18 +0,0 @@
1
- # Generated by Django 4.2.24 on 2025-09-19 09:58
2
-
3
- from django.db import migrations, models
4
-
5
-
6
- class Migration(migrations.Migration):
7
-
8
- dependencies = [
9
- ('valar', '0008_indicatorset_object_id_alter_indicatorset_unit'),
10
- ]
11
-
12
- operations = [
13
- migrations.AlterField(
14
- model_name='indicatorset',
15
- name='object_id',
16
- field=models.CharField(max_length=100, null=True, verbose_name='ObjectId'),
17
- ),
18
- ]
File without changes