valar 1.0.20__py3-none-any.whl → 1.0.21__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.
valar/data/models.py CHANGED
@@ -175,7 +175,6 @@ class MetaField(VModel):
175
175
  class MetaFieldTool(VTree):
176
176
  name = models.CharField(max_length=255, null=True, verbose_name='名称')
177
177
  code = models.CharField(max_length=100, unique=True, null=True, verbose_name='代码') #
178
- format = models.JSONField(default=dict, verbose_name='格式参数') #
179
178
 
180
179
  class Meta:
181
180
  verbose_name = '元数据字段工具'
@@ -1,23 +1,17 @@
1
- import os
2
1
 
3
2
  from django.db import OperationalError
4
3
 
5
4
  from ...data.models import MetaFieldDomain, MetaFieldTool
6
- import pandas as pd
7
5
 
8
6
 
9
7
  def load_meta_frame():
10
8
  try:
11
9
  MetaFieldTool.objects.all().delete()
12
10
  MetaFieldDomain.objects.all().delete()
13
- project_root = os.path.dirname(os.path.abspath(__file__))
14
- file_path = os.path.join(project_root, 'meta_frame.xlsx')
15
- array = pd.read_excel(file_path, sheet_name='tool').to_dict("records")
16
- for row in array:
11
+ for row in meta_field_tool:
17
12
  row['saved'] = True
18
13
  MetaFieldTool.objects.create(**row)
19
- array = pd.read_excel(file_path, sheet_name='domain').to_dict("records")
20
- for row in array:
14
+ for row in meta_field_domain:
21
15
  row['saved'] = True
22
16
  tools = row.get('tools', '').split(';')
23
17
  del row['tools']
@@ -47,3 +41,60 @@ def convert_meta_fields(fields, entity):
47
41
 
48
42
 
49
43
 
44
+ meta_field_tool = [
45
+ {'id': 2, 'sort': 32, 'pid': 7, 'isLeaf': True, 'name': '输入框', 'code': 'text'},
46
+ {'id': 3, 'sort': 17, 'pid': 0, 'isLeaf': False, 'name': 'SPEC', 'code': '特殊工具集'},
47
+ {'id': 5, 'sort': 22, 'pid': 0, 'isLeaf': False, 'name': 'DATE', 'code': '日期时间工具集'},
48
+ {'id': 6, 'sort': 21, 'pid': 8, 'isLeaf': True, 'name': '数字输入', 'code': 'number'},
49
+ {'id': 7, 'sort': 36, 'pid': 0, 'isLeaf': False, 'name': 'TEXT', 'code': '文本工具集'},
50
+ {'id': 8, 'sort': 26, 'pid': 0, 'isLeaf': False, 'name': 'NUMB', 'code': '数字工具集'},
51
+ {'id': 9, 'sort': 10, 'pid': 0, 'isLeaf': False, 'name': 'FILE', 'code': '文件工具集'},
52
+ {'id': 10, 'sort': 27, 'pid': 0, 'isLeaf': False, 'name': 'BOOL', 'code': '逻辑工具集'},
53
+ {'id': 11, 'sort': 31, 'pid': 0, 'isLeaf': False, 'name': 'LIST', 'code': '列表工具集'},
54
+ {'id': 12, 'sort': 8, 'pid': 3, 'isLeaf': True, 'name': '对象', 'code': 'object'},
55
+ {'id': 13, 'sort': 5, 'pid': 9, 'isLeaf': True, 'name': '图片上传', 'code': 'image'},
56
+ {'id': 14, 'sort': 2, 'pid': 9, 'isLeaf': True, 'name': '文件上传', 'code': 'file'},
57
+ {'id': 15, 'sort': 13, 'pid': 9, 'isLeaf': True, 'name': '富文本', 'code': 'rich'},
58
+ {'id': 17, 'sort': 11, 'pid': 10, 'isLeaf': True, 'name': '开关', 'code': 'switch'},
59
+ {'id': 18, 'sort': 7, 'pid': 3, 'isLeaf': True, 'name': '元数据', 'code': 'meta'},
60
+ {'id': 19, 'sort': 9, 'pid': 7, 'isLeaf': True, 'name': '颜色选择', 'code': 'color'},
61
+ {'id': 20, 'sort': 14, 'pid': 11, 'isLeaf': True, 'name': '穿梭框', 'code': 'transfer'},
62
+ {'id': 21, 'sort': 16, 'pid': 7, 'isLeaf': True, 'name': '自动填充', 'code': 'auto'},
63
+ {'id': 22, 'sort': 35, 'pid': 5, 'isLeaf': True, 'name': '日期选择', 'code': 'date'},
64
+ {'id': 23, 'sort': 12, 'pid': 10, 'isLeaf': True, 'name': '逻辑选择', 'code': 'boolean'},
65
+ {'id': 24, 'sort': 24, 'pid': 11, 'isLeaf': True, 'name': '列表选择', 'code': 'select'},
66
+ {'id': 25, 'sort': 15, 'pid': 11, 'isLeaf': True, 'name': '树形选择', 'code': 'tree'},
67
+ {'id': 26, 'sort': 23, 'pid': 11, 'isLeaf': True, 'name': '及联选择', 'code': 'cascade'},
68
+ {'id': 27, 'sort': 39, 'pid': 0, 'isLeaf': True, 'name': '默认', 'code': 'default'},
69
+ {'id': 28, 'sort': 25, 'pid': 7, 'isLeaf': True, 'name': '图标', 'code': 'icon'},
70
+ {'id': 31, 'sort': 6, 'pid': 0, 'isLeaf': True, 'name': '无', 'code': 'none'},
71
+ {'id': 32, 'sort': 30, 'pid': 7, 'isLeaf': True, 'name': '文本框', 'code': 'textarea'},
72
+ {'id': 33, 'sort': 18, 'pid': 36, 'isLeaf': True, 'name': '时间区间', 'code': 'timerange'},
73
+ {'id': 35, 'sort': 33, 'pid': 5, 'isLeaf': True, 'name': '时间选择', 'code': 'time'},
74
+ {'id': 36, 'sort': 20, 'pid': 0, 'isLeaf': False, 'name': 'RANGE', 'code': '区间工具集'},
75
+ {'id': 37, 'sort': 38, 'pid': 36, 'isLeaf': True, 'name': '日期区间', 'code': 'daterange'},
76
+ {'id': 39, 'sort': 3, 'pid': 36, 'isLeaf': True, 'name': '多日期', 'code': 'dates'},
77
+ {'id': 54, 'sort': 54, 'pid': 7, 'isLeaf': True, 'name': '集合', 'code': 'set'}
78
+ ]
79
+
80
+ meta_field_domain = [
81
+ {'id': 12, 'sort': 22, 'name': 'CharField', 'default_id': 2, 'align': 'left', 'tools': '2;6;18;19;21;22;24;25;26;27;28;31;32;33;37;39;54'},
82
+ {'id': 11, 'sort': 21, 'name': 'TextField', 'default_id': 32, 'align': 'left', 'tools': '2;27;31;32'},
83
+ {'id': 13, 'sort': 20, 'name': 'BooleanField', 'default_id': 17, 'align': 'center', 'tools': '17;23;27;31'},
84
+ {'id': 9, 'sort': 18, 'name': 'IntegerField', 'default_id': 6, 'align': 'right', 'tools': '6;27;31'},
85
+ {'id': 8, 'sort': 16, 'name': 'FloatField', 'default_id': 6, 'align': 'right', 'tools': '6;27;31'},
86
+ {'id': 4, 'sort': 15, 'name': 'ForeignKey', 'default_id': 24, 'align': 'left', 'tools': '24;25;26;27;31'},
87
+ {'id': 2, 'sort': 13, 'name': 'ManyToOneRel', 'default_id': 24, 'align': 'center', 'tools': '20;24;25;26;27;31'},
88
+ {'id': 1, 'sort': 12, 'name': 'ManyToManyField', 'default_id': 24, 'align': 'center', 'tools': '20;24;25;26;27;31'},
89
+ {'id': 22, 'sort': 11, 'name': 'ManyToManyRel', 'default_id': 24, 'align': 'center', 'tools': '20;24;25;26;27;31'},
90
+ {'id': 5, 'sort': 10, 'name': 'OneToOneRel', 'default_id': 31, 'align': 'left', 'tools': '27;31'},
91
+ {'id': 21, 'sort': 9, 'name': 'OneToOneField', 'default_id': 31, 'align': 'left', 'tools': '27;31'},
92
+ {'id': 6, 'sort': 8, 'name': 'DateField', 'default_id': 22, 'align': 'center', 'tools': '22;27;31'},
93
+ {'id': 20, 'sort': 7, 'name': 'TimeField', 'default_id': 35, 'align': 'center', 'tools': '27;31;35'},
94
+ {'id': 7, 'sort': 6, 'name': 'DateTimeField', 'default_id': 22, 'align': 'center', 'tools': '22;27;31'},
95
+ {'id': 3, 'sort': 5, 'name': 'JSONField', 'default_id': 12, 'align': 'center', 'tools': '12;27;31'},
96
+ {'id': 15, 'sort': 4, 'name': 'FileField', 'default_id': 14, 'align': 'center', 'tools': '13;14;15;27;31'},
97
+ {'id': 16, 'sort': 3, 'name': 'BigAutoField', 'default_id': 31, 'align': 'right', 'tools': '27;31'},
98
+ {'id': 18, 'sort': 2, 'name': 'UUIDField', 'default_id': 31, 'align': 'left', 'tools': '27;31'},
99
+ {'id': 10, 'sort': 1, 'name': 'Custom', 'default_id': 31, 'align': 'left', 'tools': '27;31'}
100
+ ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: valar
3
- Version: 1.0.20
3
+ Version: 1.0.21
4
4
  Summary: valar for morghulis
5
5
  Author: LYP
6
6
  Author-email: liuyinpeng@buaa.edu.cn
@@ -4,24 +4,23 @@ valar/channels/utils.py,sha256=lQQZp6XJhTHJSBvfsxgZ7PcDKYGLo5rMpWH5wtteHww,1298
4
4
  valar/channels/views.py,sha256=GjcFw_WswaJnlSrv2tFx12jLk6RtzxSjW1D2kBskImY,413
5
5
  valar/data/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  valar/data/handlers.py,sha256=2WQfJ5PJuGLPFqBpYg2my6Mh6RqAeI6jHEj4tRAsSXw,858
7
- valar/data/models.py,sha256=XXKT1DXcAQCv8mTKWB8AP7zO6Bt0RB9QQosmJ7vUT6Q,10621
7
+ valar/data/models.py,sha256=KBgodUqYAGy1CQxcLoVVo7i81RP1shbKO1yB9H4agL4,10545
8
8
  valar/data/query.py,sha256=Cx-DDJQmMP8Qc9Sv5dvQ-QFE-aRVeYI6ccE8zUhFsVQ,1585
9
9
  valar/data/urls.py,sha256=32EqAi4A2zR-_-FE3Ued8gVetHuY3hdgausP7eIFL3w,929
10
10
  valar/data/utils.py,sha256=d5mdx_hV6Vs-SoAZLBdzQCvrbeuoXCozFzrCT-njCn0,2061
11
11
  valar/data/views.py,sha256=wiKBRsrBDT4arusLh9NKBgZFK7lwaTgsTZiuTnNsJFQ,5292
12
12
  valar/data/file/__init__.py,sha256=YwBQ0Vhfg3wbcCa6k57c9vL-AnpOgnDO6lInERlIyPc,2880
13
- valar/data/migrations/0001_initial.py,sha256=jBWKQwSclN8NctNIctqied1ibVYMEXUyimzQICLMJEA,15681
14
13
  valar/data/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
14
  valar/data/mon/__init__.py,sha256=99b04h-j9HbmKlVB2qNl2ZVyUMC9pH0sofu7yXAi_Zg,3818
16
15
  valar/data/mon/query_translator.py,sha256=g5rurgUOATarrO_hCuImr2VV6U1axwVSKAZx8zGeOuw,4646
17
16
  valar/data/orm/__init__.py,sha256=beQOUIDMEx83sMERr4NtZikgGxjhEDUJReYz4x8Zf7E,4730
18
17
  valar/data/orm/detacher.py,sha256=coZtVFzOVSl8AsoX2zLy7ZOkKVBLeg1HIKyKkstU1Tc,2660
19
18
  valar/data/orm/meta.py,sha256=gzrqBp6VEryIApu1Ab3WxLRtXXcnGJ7O9UlCSjElYcw,2719
20
- valar/data/orm/meta_frame.py,sha256=Lyiw1NTGlbkRo9abzxMjGBa6cVfU2rkjYbAA5-c7ZDs,1531
19
+ valar/data/orm/meta_frame.py,sha256=ln7ZD-r5IbFQvBg-mCHfHSSjy2-mY1lughcIwQr_vKo,6485
21
20
  valar/data/orm/meta_loader.py,sha256=aAOtZSkIONT85tld9UxK2FFClltnyZ0zJZAeyrTU1-A,6031
22
21
  valar/data/orm/values.py,sha256=5B4zpxhW9tplz4qPaNx5ONzYt5JosS0_K4XfDUQKD38,4716
23
- valar-1.0.20.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
24
- valar-1.0.20.dist-info/METADATA,sha256=vkR_M7I75I1Cl2aieoRK3G1kS8FvE1IApSPO_0AseCE,3249
25
- valar-1.0.20.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
26
- valar-1.0.20.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
27
- valar-1.0.20.dist-info/RECORD,,
22
+ valar-1.0.21.dist-info/licenses/LICENSE,sha256=2bm9uFabQZ3Ykb_SaSU_uUbAj2-htc6WJQmS_65qD00,1073
23
+ valar-1.0.21.dist-info/METADATA,sha256=7und9jnoa0-PKOa82v-0S2wOiLBz65IYCiflOgRP7k8,3249
24
+ valar-1.0.21.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
25
+ valar-1.0.21.dist-info/top_level.txt,sha256=TVi6VcvvYfVYZ_WnUVwT4psI8p6inaP3KfmQEWrrvYg,6
26
+ valar-1.0.21.dist-info/RECORD,,
@@ -1,238 +0,0 @@
1
- # Generated by Django 4.2.21 on 2025-05-17 11:07
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
- ('saved', models.BooleanField(default=False)),
23
- ('entity', models.CharField(max_length=100, null=True, unique=True, verbose_name='数据源')),
24
- ('name', models.CharField(max_length=50, null=True, verbose_name='实体别名')),
25
- ],
26
- options={
27
- 'verbose_name': '数据实体',
28
- },
29
- ),
30
- migrations.CreateModel(
31
- name='MetaFieldTool',
32
- fields=[
33
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
34
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
35
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
36
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
37
- ('saved', models.BooleanField(default=False)),
38
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
39
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
40
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
41
- ('name', models.CharField(max_length=255, null=True, verbose_name='名称')),
42
- ('code', models.CharField(max_length=100, null=True, unique=True, verbose_name='代码')),
43
- ('format', models.JSONField(default=dict, verbose_name='格式参数')),
44
- ],
45
- options={
46
- 'verbose_name': '元数据字段工具',
47
- },
48
- ),
49
- migrations.CreateModel(
50
- name='TestM',
51
- fields=[
52
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
53
- ('name', models.CharField(max_length=100, verbose_name='<UNK>')),
54
- ],
55
- ),
56
- migrations.CreateModel(
57
- name='Vala',
58
- fields=[
59
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
60
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
61
- ('name', models.CharField(max_length=50, null=True)),
62
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
63
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
64
- ('saved', models.BooleanField(default=False)),
65
- ('text_field', models.TextField(null=True, verbose_name='text')),
66
- ('boolean_field', models.BooleanField(null=True, verbose_name='boolean')),
67
- ('integer_field', models.IntegerField(null=True, verbose_name='integer')),
68
- ('float_field', models.FloatField(null=True, verbose_name='float')),
69
- ('date_field', models.DateField(null=True, verbose_name='date')),
70
- ('datetime_field', models.DateTimeField(null=True, verbose_name='datetime')),
71
- ('time_field', models.TimeField(null=True, verbose_name='time')),
72
- ('json_field', models.JSONField(null=True, verbose_name='json')),
73
- ('file', models.FileField(null=True, upload_to='', verbose_name='File')),
74
- ],
75
- options={
76
- 'abstract': False,
77
- },
78
- ),
79
- migrations.CreateModel(
80
- name='ValaTree',
81
- fields=[
82
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
83
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
84
- ('name', models.CharField(max_length=50, null=True)),
85
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
86
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
87
- ('saved', models.BooleanField(default=False)),
88
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
89
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
90
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
91
- ('text', models.TextField(null=True, verbose_name='text')),
92
- ],
93
- options={
94
- 'verbose_name': '树形测试',
95
- },
96
- ),
97
- migrations.CreateModel(
98
- name='O2O',
99
- fields=[
100
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
101
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
102
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
103
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
104
- ('saved', models.BooleanField(default=False)),
105
- ('name', models.CharField(max_length=100, null=True, verbose_name='name')),
106
- ('vala', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, to='data.vala', verbose_name='vala')),
107
- ],
108
- options={
109
- 'abstract': False,
110
- },
111
- ),
112
- migrations.CreateModel(
113
- name='MetaView',
114
- fields=[
115
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
116
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
117
- ('name', models.CharField(max_length=50, null=True)),
118
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
119
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
120
- ('saved', models.BooleanField(default=False)),
121
- ('code', models.CharField(default='default ', max_length=50, verbose_name='类视图')),
122
- ('view_name', models.CharField(max_length=50, null=True, verbose_name='视图名称')),
123
- ('form_width', models.IntegerField(default=0, verbose_name='表单宽度')),
124
- ('form_height', models.IntegerField(default=0, verbose_name='表单高度')),
125
- ('table_width', models.IntegerField(default=0, verbose_name='表格宽度')),
126
- ('table_height', models.IntegerField(default=0, verbose_name='表格高度')),
127
- ('enable', models.BooleanField(default=True, verbose_name='是否启用')),
128
- ('show_header', models.BooleanField(default=True, verbose_name='展示头部')),
129
- ('allow_batch', models.BooleanField(default=True, verbose_name='批处理')),
130
- ('allow_search', models.BooleanField(default=True, verbose_name='检索功能')),
131
- ('allow_sort', models.BooleanField(default=True, verbose_name='排序功能')),
132
- ('allow_pop', models.BooleanField(default=True, verbose_name='移动功能')),
133
- ('allow_insert', models.BooleanField(default=True, verbose_name='新增功能')),
134
- ('allow_edit', models.BooleanField(default=True, verbose_name='编辑功能')),
135
- ('allow_remove', models.BooleanField(default=True, verbose_name='删除功能')),
136
- ('allow_download', models.BooleanField(default=True, verbose_name='下载功能')),
137
- ('allow_upload', models.BooleanField(default=True, verbose_name='上传功能')),
138
- ('meta', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.meta', verbose_name='元数据')),
139
- ],
140
- options={
141
- 'verbose_name': '数据视图',
142
- 'unique_together': {('meta', 'code')},
143
- },
144
- ),
145
- migrations.CreateModel(
146
- name='MetaFieldDomain',
147
- fields=[
148
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
149
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
150
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
151
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
152
- ('saved', models.BooleanField(default=False)),
153
- ('name', models.CharField(max_length=255, null=True, unique=True, verbose_name='名称')),
154
- ('align', models.CharField(max_length=10, null=True, verbose_name='对齐方式')),
155
- ('default', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='data.metafieldtool', verbose_name='默认工具')),
156
- ('search', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='+', to='data.metafieldtool', verbose_name='搜索工具')),
157
- ('tools', models.ManyToManyField(to='data.metafieldtool', verbose_name='工具集')),
158
- ],
159
- options={
160
- 'verbose_name': '元数据字段类型',
161
- },
162
- ),
163
- migrations.CreateModel(
164
- name='MetaField',
165
- fields=[
166
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
167
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
168
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
169
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
170
- ('saved', models.BooleanField(default=False)),
171
- ('prop', models.CharField(max_length=100, verbose_name='字段名称')),
172
- ('label', models.CharField(max_length=100, verbose_name='字段标签')),
173
- ('name', models.CharField(max_length=100, verbose_name='字段别名')),
174
- ('domain', models.CharField(max_length=100, verbose_name='字段类型')),
175
- ('tool', models.CharField(default='default', max_length=100, verbose_name='工具组件')),
176
- ('refer', models.JSONField(default=dict, verbose_name='索引')),
177
- ('format', models.JSONField(default=dict, verbose_name='格式')),
178
- ('not_null', models.BooleanField(default=False, verbose_name='不为空')),
179
- ('allow_edit', models.BooleanField(default=True, verbose_name='可编辑')),
180
- ('allow_sort', models.BooleanField(default=True, verbose_name='可排序')),
181
- ('allow_search', models.BooleanField(default=True, verbose_name='可搜索')),
182
- ('allow_download', models.BooleanField(default=True, verbose_name='可下载')),
183
- ('allow_upload', models.BooleanField(default=False, verbose_name='可上传')),
184
- ('allow_update', models.BooleanField(default=False, verbose_name='可更新')),
185
- ('unit', models.CharField(max_length=55, null=True, verbose_name='单位符')),
186
- ('column_width', models.FloatField(default=0, verbose_name='表头宽度')),
187
- ('align', models.CharField(default='left', max_length=55, verbose_name='对齐方式')),
188
- ('fixed', models.CharField(max_length=100, null=True, verbose_name='固定位置')),
189
- ('header_color', models.CharField(max_length=55, null=True, verbose_name='表头颜色')),
190
- ('cell_color', models.CharField(max_length=55, null=True, verbose_name='单元颜色')),
191
- ('edit_on_table', models.BooleanField(default=True, verbose_name='表格编辑')),
192
- ('hide_on_table', models.BooleanField(default=False, verbose_name='表内隐藏')),
193
- ('span', models.IntegerField(default=0, verbose_name='表单占位')),
194
- ('hide_on_form', models.BooleanField(default=False, verbose_name='表单隐藏')),
195
- ('hide_on_form_edit', models.BooleanField(default=False, verbose_name='编辑隐藏')),
196
- ('hide_on_form_insert', models.BooleanField(default=False, verbose_name='新增隐藏')),
197
- ('hide_on_form_branch', models.BooleanField(default=False, verbose_name='分支隐藏')),
198
- ('hide_on_form_leaf', models.BooleanField(default=False, verbose_name='叶子隐藏')),
199
- ('view', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='data.metaview', verbose_name='数据视图')),
200
- ],
201
- options={
202
- 'verbose_name': '视图字段',
203
- },
204
- ),
205
- migrations.CreateModel(
206
- name='M2O',
207
- fields=[
208
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
209
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
210
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
211
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
212
- ('saved', models.BooleanField(default=False)),
213
- ('name', models.CharField(max_length=100, null=True, verbose_name='name')),
214
- ('vala', models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to='data.vala', verbose_name='vala')),
215
- ],
216
- options={
217
- 'abstract': False,
218
- },
219
- ),
220
- migrations.CreateModel(
221
- name='M2M',
222
- fields=[
223
- ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
224
- ('sort', models.BigIntegerField(null=True, verbose_name='序号')),
225
- ('create_time', models.DateTimeField(auto_now_add=True, null=True, verbose_name='创建时间')),
226
- ('modify_time', models.DateTimeField(auto_now=True, null=True, verbose_name='修改时间')),
227
- ('saved', models.BooleanField(default=False)),
228
- ('pid', models.IntegerField(default=0, verbose_name='父节点')),
229
- ('isLeaf', models.BooleanField(default=False, verbose_name='叶子节点')),
230
- ('icon', models.CharField(max_length=255, null=True, verbose_name='图标')),
231
- ('name', models.CharField(max_length=100, null=True, verbose_name='name')),
232
- ('valas', models.ManyToManyField(to='data.vala', verbose_name='valas')),
233
- ],
234
- options={
235
- 'abstract': False,
236
- },
237
- ),
238
- ]
File without changes