valar 1.3.8__py3-none-any.whl → 1.3.10__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)
@@ -54,4 +54,7 @@ meta_field_key_defaults = {
54
54
  'valar.Menu': {
55
55
  'auth': ('pick', ['icon', 'path', 'name', 'roles', 'is_admin', 'scope']),
56
56
  },
57
+ 'valar.Indicator': {
58
+ 'default': ('pick', ['name', 'frequency', 'scope', 'unit', 'file']),
59
+ },
57
60
  }
@@ -60,6 +60,7 @@ meta_field_value_defaults = {
60
60
  }
61
61
  }
62
62
  },
63
+
63
64
  'valar.MetaField': {
64
65
  "rest": {
65
66
  "name": {
@@ -131,5 +132,21 @@ meta_field_value_defaults = {
131
132
  'tool': 'color',
132
133
  }
133
134
  }
135
+ },
136
+ 'valar.Indicator': {
137
+ "__init__": {
138
+ "frequency": {
139
+ 'column_width': 80,
140
+ },
141
+ "unit": {
142
+ 'column_width': 80,
143
+ },
144
+ "scope": {
145
+ 'column_width': 80,
146
+ },
147
+ "file": {
148
+ 'column_width': 90,
149
+ }
150
+ },
134
151
  }
135
152
  }
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)
@@ -1,4 +1,4 @@
1
- # Generated by Django 4.2.24 on 2025-09-18 18:23
1
+ # Generated by Django 4.2.24 on 2025-09-19 15:34
2
2
 
3
3
  from django.db import migrations, models
4
4
  import django.db.models.deletion
@@ -12,6 +12,24 @@ class Migration(migrations.Migration):
12
12
  ]
13
13
 
14
14
  operations = [
15
+ migrations.CreateModel(
16
+ name='IndicatorSet',
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
+ ('pid', models.IntegerField(default=0, verbose_name='父节点')),
25
+ ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
26
+ ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
27
+ ('name', models.CharField(max_length=100, null=True)),
28
+ ],
29
+ options={
30
+ 'verbose_name': '指标集',
31
+ },
32
+ ),
15
33
  migrations.CreateModel(
16
34
  name='Meta',
17
35
  fields=[
@@ -252,6 +270,29 @@ class Migration(migrations.Migration):
252
270
  'verbose_name': '视图字段',
253
271
  },
254
272
  ),
273
+ migrations.CreateModel(
274
+ name='Indicator',
275
+ fields=[
276
+ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
277
+ ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
278
+ ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
279
+ ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
280
+ ('disabled', models.BooleanField(default=False, verbose_name='禁用')),
281
+ ('saved', models.BooleanField(default=False, verbose_name='已保存')),
282
+ ('domain', models.CharField(max_length=100, null=True, verbose_name='domain')),
283
+ ('category', models.CharField(max_length=100, null=True, verbose_name='category')),
284
+ ('name', models.CharField(max_length=100, null=True, verbose_name='名称')),
285
+ ('frequency', models.CharField(max_length=100, null=True, verbose_name='频度')),
286
+ ('scope', models.CharField(max_length=100, null=True, verbose_name='尺度')),
287
+ ('unit', models.CharField(max_length=100, null=True, verbose_name='单位')),
288
+ ('object_id', models.CharField(max_length=100, null=True, verbose_name='ObjectId')),
289
+ ('file', models.FileField(null=True, upload_to='', verbose_name='数据文件')),
290
+ ('set', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='valar.indicatorset', verbose_name='指标集')),
291
+ ],
292
+ options={
293
+ 'verbose_name': '指标项',
294
+ },
295
+ ),
255
296
  migrations.CreateModel(
256
297
  name='Account',
257
298
  fields=[
valar/models/indicator.py CHANGED
@@ -2,23 +2,23 @@ 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
- unit = models.CharField(max_length=100, verbose_name='单位', null=True)
19
18
  scope = models.CharField(max_length=100, verbose_name='尺度', null=True)
19
+ unit = models.CharField(max_length=100, verbose_name='单位', null=True)
20
20
  object_id = models.CharField(max_length=100, verbose_name='ObjectId', null=True)
21
21
  file = models.FileField(null=True, verbose_name='数据文件')
22
22
 
23
23
  class Meta:
24
- verbose_name = '指标集'
24
+ 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.10
4
4
  Summary: valar for morghulis
5
5
  Home-page: https://gitee.com/GRIFFIN120/valar_dev
6
6
  Author: LYP
@@ -18,35 +18,27 @@ 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
- valar/dao/defaults/field_keys_default.py,sha256=ZgF-7s4yABz2uoInxuhg4uy9flbAR7btHDipJkqZj0M,2153
33
- valar/dao/defaults/field_values_default.py,sha256=6zKPqbw0vJKW_9ilj6PC7IgDyayiWjHsNc4y7aVzuNw,3552
32
+ valar/dao/defaults/field_keys_default.py,sha256=SegJzDXn7aHyIyIGyFIHbOltSWA1-JWwkQiaOva4WUY,2262
33
+ valar/dao/defaults/field_values_default.py,sha256=ZyiN0f2nCqewEMfXWjwv6Yeq7gK16EBggTMU6s0pF40,3915
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
35
+ valar/migrations/0001_initial.py,sha256=TYfWv9uH2y-uC5EwzbzEhZeex5cDhwCC94jLi2mkGjk,23345
44
36
  valar/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
45
37
  valar/models/__init__.py,sha256=GMosgOi_o4kFIyReJg1qFqtbWSob5Mazd5FSGT_zfqI,55
46
38
  valar/models/auth.py,sha256=nxtLgJwBEgvYWXATcN-RN1e5LIzeUzK97jExUSjoIOk,1710
47
39
  valar/models/core.py,sha256=ghtfs8uFH6SC0xvd-gkARr-FUWDXG0IMGWSuETOvecw,3695
48
40
  valar/models/frame.py,sha256=N13Bok7XNJDLoYDCpCIq8tEUktQVNerrLtk_U0KDJAE,851
49
- valar/models/indicator.py,sha256=3_Z3_RPdJN_6q3bOC16mLd8IL3C3ehmacKedkWj6x5c,916
41
+ valar/models/indicator.py,sha256=hkit14T6P5GnnKJq75QijvCaab82VFRyAS4-Sto-rU0,1024
50
42
  valar/models/meta.py,sha256=sNCYJZKzx8JNbRidgRQunwIHYn9WXm89Svoc7-uutd4,4967
51
43
  valar/models/test.py,sha256=3yfyZHJgviEybV1NyN4Qs1BGKE3DvAtb_e4oFI2MVos,1319
52
44
  valar/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -56,8 +48,8 @@ valar/views/handler.py,sha256=KlXWhVU-b_b5uxrUwQBHW7H4shSPy4NnXj6AINM_Joo,1619
56
48
  valar/views/meta.py,sha256=H3_raG-LEcfg1p_CBpluhPXBsLFQB_jtaI5CKGgYOKk,4774
57
49
  valar/views/password.py,sha256=O094qG8Sh4ilT_wpEMw4IZtAlcQjrDVcFD5BHaWKg2Q,2127
58
50
  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,,
51
+ valar-1.3.10.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
52
+ valar-1.3.10.dist-info/METADATA,sha256=yA7aW6TPBd92uegbTNKzbVOH_YQXiI4jw6pf_r3Eie4,5173
53
+ valar-1.3.10.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
54
+ valar-1.3.10.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
55
+ valar-1.3.10.dist-info/RECORD,,
@@ -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