valar 1.3.8__tar.gz → 1.3.9__tar.gz

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.

Files changed (69) hide show
  1. {valar-1.3.8/src/valar.egg-info → valar-1.3.9}/PKG-INFO +1 -1
  2. {valar-1.3.8 → valar-1.3.9}/setup.py +1 -1
  3. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/__init__.py +1 -1
  4. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/frame.py +1 -1
  5. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/orm_dao.py +3 -1
  6. valar-1.3.9/src/valar/models/indicator.py +39 -0
  7. {valar-1.3.8 → valar-1.3.9/src/valar.egg-info}/PKG-INFO +1 -1
  8. {valar-1.3.8 → valar-1.3.9}/src/valar.egg-info/SOURCES.txt +0 -9
  9. valar-1.3.8/src/valar/migrations/0001_initial.py +0 -301
  10. valar-1.3.8/src/valar/migrations/0002_indicatortree.py +0 -34
  11. valar-1.3.8/src/valar/migrations/0003_remove_indicatortree_frequency_and_more.py +0 -46
  12. valar-1.3.8/src/valar/migrations/0004_delete_indicatortree.py +0 -16
  13. valar-1.3.8/src/valar/migrations/0005_indicatortree_indicatorset.py +0 -54
  14. valar-1.3.8/src/valar/migrations/0006_alter_indicatorset_unique_together_and_more.py +0 -21
  15. valar-1.3.8/src/valar/migrations/0007_indicatorset_file_indicatorset_unit.py +0 -23
  16. valar-1.3.8/src/valar/migrations/0008_indicatorset_object_id_alter_indicatorset_unit.py +0 -23
  17. valar-1.3.8/src/valar/migrations/0009_alter_indicatorset_object_id.py +0 -18
  18. valar-1.3.8/src/valar/models/indicator.py +0 -24
  19. {valar-1.3.8 → valar-1.3.9}/LICENSE +0 -0
  20. {valar-1.3.8 → valar-1.3.9}/README.md +0 -0
  21. {valar-1.3.8 → valar-1.3.9}/setup.cfg +0 -0
  22. {valar-1.3.8 → valar-1.3.9}/src/valar/__init__.py +0 -0
  23. {valar-1.3.8 → valar-1.3.9}/src/valar/apps.py +0 -0
  24. {valar-1.3.8 → valar-1.3.9}/src/valar/auth/Authentication.py +0 -0
  25. {valar-1.3.8 → valar-1.3.9}/src/valar/auth/Middleware.py +0 -0
  26. {valar-1.3.8 → valar-1.3.9}/src/valar/auth/__init__.py +0 -0
  27. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/__init__.py +0 -0
  28. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/consumer.py +0 -0
  29. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/counter.py +0 -0
  30. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/executer.py +0 -0
  31. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/mapping.py +0 -0
  32. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/sender.py +0 -0
  33. {valar-1.3.8 → valar-1.3.9}/src/valar/channels/views.py +0 -0
  34. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/__init__.py +0 -0
  35. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/app_mixins/__init__.py +0 -0
  36. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/app_mixins/auto_migration_mixin.py +0 -0
  37. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/app_mixins/auto_urlpatterns_mixin.py +0 -0
  38. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/singleton_meta.py +0 -0
  39. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/valar_minio.py +0 -0
  40. {valar-1.3.8 → valar-1.3.9}/src/valar/classes/valar_response.py +0 -0
  41. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/abstract.py +0 -0
  42. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/defaults/__init__.py +0 -0
  43. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/defaults/field_keys_default.py +0 -0
  44. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/defaults/field_values_default.py +0 -0
  45. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/defaults/view_defaults.py +0 -0
  46. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/engine.py +0 -0
  47. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/meta.py +0 -0
  48. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/mon_dao.py +0 -0
  49. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/mon_field.py +0 -0
  50. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/orm_field.py +0 -0
  51. {valar-1.3.8 → valar-1.3.9}/src/valar/dao/query.py +0 -0
  52. {valar-1.3.8 → valar-1.3.9}/src/valar/migrations/__init__.py +0 -0
  53. {valar-1.3.8 → valar-1.3.9}/src/valar/models/__init__.py +0 -0
  54. {valar-1.3.8 → valar-1.3.9}/src/valar/models/auth.py +0 -0
  55. {valar-1.3.8 → valar-1.3.9}/src/valar/models/core.py +0 -0
  56. {valar-1.3.8 → valar-1.3.9}/src/valar/models/frame.py +0 -0
  57. {valar-1.3.8 → valar-1.3.9}/src/valar/models/meta.py +0 -0
  58. {valar-1.3.8 → valar-1.3.9}/src/valar/models/test.py +0 -0
  59. {valar-1.3.8 → valar-1.3.9}/src/valar/urls.py +0 -0
  60. {valar-1.3.8 → valar-1.3.9}/src/valar/views/__init__.py +0 -0
  61. {valar-1.3.8 → valar-1.3.9}/src/valar/views/auth.py +0 -0
  62. {valar-1.3.8 → valar-1.3.9}/src/valar/views/file.py +0 -0
  63. {valar-1.3.8 → valar-1.3.9}/src/valar/views/handler.py +0 -0
  64. {valar-1.3.8 → valar-1.3.9}/src/valar/views/meta.py +0 -0
  65. {valar-1.3.8 → valar-1.3.9}/src/valar/views/password.py +0 -0
  66. {valar-1.3.8 → valar-1.3.9}/src/valar/views/rest.py +0 -0
  67. {valar-1.3.8 → valar-1.3.9}/src/valar.egg-info/dependency_links.txt +0 -0
  68. {valar-1.3.8 → valar-1.3.9}/src/valar.egg-info/requires.txt +0 -0
  69. {valar-1.3.8 → valar-1.3.9}/src/valar.egg-info/top_level.txt +0 -0
@@ -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
@@ -3,7 +3,7 @@ from setuptools import setup, find_packages
3
3
  with open("README.md", "r", encoding="utf-8") as f:
4
4
  long_description = f.read()
5
5
 
6
- version = "1.3.8"
6
+ version = "1.3.9"
7
7
 
8
8
  requires = [
9
9
  'channels==3.0.3',
@@ -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)
@@ -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']
@@ -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)
@@ -0,0 +1,39 @@
1
+ from ..models.core import VTree, VModel
2
+ from django.db import models
3
+
4
+
5
+ class IndicatorSet(VTree):
6
+ name = models.CharField(max_length=100, null=True)
7
+
8
+ class Meta:
9
+ verbose_name = '指标集'
10
+
11
+
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
+ name = models.CharField(max_length=100, verbose_name='名称', null=True)
17
+ frequency = models.CharField(max_length=100, verbose_name='频度', null=True)
18
+ unit = models.CharField(max_length=100, verbose_name='单位', null=True)
19
+ scope = models.CharField(max_length=100, verbose_name='尺度', null=True)
20
+ object_id = models.CharField(max_length=100, verbose_name='ObjectId', null=True)
21
+ file = models.FileField(null=True, verbose_name='数据文件')
22
+
23
+ class Meta:
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
@@ -40,15 +40,6 @@ src/valar/dao/defaults/__init__.py
40
40
  src/valar/dao/defaults/field_keys_default.py
41
41
  src/valar/dao/defaults/field_values_default.py
42
42
  src/valar/dao/defaults/view_defaults.py
43
- src/valar/migrations/0001_initial.py
44
- src/valar/migrations/0002_indicatortree.py
45
- src/valar/migrations/0003_remove_indicatortree_frequency_and_more.py
46
- src/valar/migrations/0004_delete_indicatortree.py
47
- src/valar/migrations/0005_indicatortree_indicatorset.py
48
- src/valar/migrations/0006_alter_indicatorset_unique_together_and_more.py
49
- src/valar/migrations/0007_indicatorset_file_indicatorset_unit.py
50
- src/valar/migrations/0008_indicatorset_object_id_alter_indicatorset_unit.py
51
- src/valar/migrations/0009_alter_indicatorset_object_id.py
52
43
  src/valar/migrations/__init__.py
53
44
  src/valar/models/__init__.py
54
45
  src/valar/models/auth.py
@@ -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
- ]
@@ -1,24 +0,0 @@
1
- from ..models.core import VTree, VModel
2
- from django.db import models
3
-
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)
10
-
11
- class Meta:
12
- verbose_name = '指标集'
13
-
14
-
15
- class IndicatorSet(VModel):
16
- name = models.CharField(max_length=100, verbose_name='名称', null=True)
17
- frequency = models.CharField(max_length=100, verbose_name='频度', null=True)
18
- unit = models.CharField(max_length=100, verbose_name='单位', null=True)
19
- scope = models.CharField(max_length=100, verbose_name='尺度', null=True)
20
- object_id = models.CharField(max_length=100, verbose_name='ObjectId', null=True)
21
- file = models.FileField(null=True, verbose_name='数据文件')
22
-
23
- class Meta:
24
- verbose_name = '指标集'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes