575 lines
52 KiB
Python
575 lines
52 KiB
Python
# Generated by Django 4.2.14 on 2025-10-16 01:27
|
|
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
import django.utils.timezone
|
|
import dvadmin.system.models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('auth', '0012_alter_user_first_name_max_length'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Users',
|
|
fields=[
|
|
('password', models.CharField(max_length=128, verbose_name='password')),
|
|
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
|
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
|
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
|
|
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
|
|
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
|
('is_active', models.BooleanField(default=True, help_text='Designates whether this user should be treated as active. Unselect this instead of deleting accounts.', verbose_name='active')),
|
|
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('username', models.CharField(db_index=True, help_text='用户账号', max_length=150, unique=True, verbose_name='用户账号')),
|
|
('email', models.EmailField(blank=True, help_text='邮箱', max_length=255, null=True, verbose_name='邮箱')),
|
|
('mobile', models.CharField(blank=True, help_text='电话', max_length=255, null=True, verbose_name='电话')),
|
|
('avatar', models.CharField(blank=True, help_text='头像', max_length=255, null=True, verbose_name='头像')),
|
|
('name', models.CharField(help_text='姓名', max_length=40, verbose_name='姓名')),
|
|
('gender', models.IntegerField(blank=True, choices=[(0, '未知'), (1, '男'), (2, '女')], default=0, help_text='性别', null=True, verbose_name='性别')),
|
|
('user_type', models.IntegerField(blank=True, choices=[(0, '后台用户'), (1, '前台用户')], default=0, help_text='用户类型', null=True, verbose_name='用户类型')),
|
|
('login_error_count', models.IntegerField(default=0, help_text='登录错误次数', verbose_name='登录错误次数')),
|
|
('pwd_change_count', models.IntegerField(blank=True, default=0, help_text='密码修改次数', verbose_name='密码修改次数')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '用户表',
|
|
'verbose_name_plural': '用户表',
|
|
'db_table': 'dvadmin_system_users',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
managers=[
|
|
('objects', dvadmin.system.models.CustomUserManager()),
|
|
],
|
|
),
|
|
migrations.CreateModel(
|
|
name='Dept',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(help_text='部门名称', max_length=64, verbose_name='部门名称')),
|
|
('key', models.CharField(blank=True, help_text='关联字符', max_length=64, null=True, unique=True, verbose_name='关联字符')),
|
|
('sort', models.IntegerField(default=1, help_text='显示排序', verbose_name='显示排序')),
|
|
('owner', models.CharField(blank=True, help_text='负责人', max_length=32, null=True, verbose_name='负责人')),
|
|
('phone', models.CharField(blank=True, help_text='联系电话', max_length=32, null=True, verbose_name='联系电话')),
|
|
('email', models.EmailField(blank=True, help_text='邮箱', max_length=32, null=True, verbose_name='邮箱')),
|
|
('status', models.BooleanField(blank=True, default=True, help_text='部门状态', null=True, verbose_name='部门状态')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('parent', models.ForeignKey(blank=True, db_constraint=False, default=None, help_text='上级部门', null=True, on_delete=django.db.models.deletion.CASCADE, to='system.dept', verbose_name='上级部门')),
|
|
],
|
|
options={
|
|
'verbose_name': '部门表',
|
|
'verbose_name_plural': '部门表',
|
|
'db_table': 'dvadmin_system_dept',
|
|
'ordering': ('sort',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Menu',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('icon', models.CharField(blank=True, help_text='菜单图标', max_length=64, null=True, verbose_name='菜单图标')),
|
|
('name', models.CharField(help_text='菜单名称', max_length=64, verbose_name='菜单名称')),
|
|
('sort', models.IntegerField(blank=True, default=1, help_text='显示排序', null=True, verbose_name='显示排序')),
|
|
('is_link', models.BooleanField(default=False, help_text='是否外链', verbose_name='是否外链')),
|
|
('link_url', models.CharField(blank=True, help_text='链接地址', max_length=255, null=True, verbose_name='链接地址')),
|
|
('is_catalog', models.BooleanField(default=False, help_text='是否目录', verbose_name='是否目录')),
|
|
('web_path', models.CharField(blank=True, help_text='路由地址', max_length=128, null=True, verbose_name='路由地址')),
|
|
('component', models.CharField(blank=True, help_text='组件地址', max_length=128, null=True, verbose_name='组件地址')),
|
|
('component_name', models.CharField(blank=True, help_text='组件名称', max_length=50, null=True, verbose_name='组件名称')),
|
|
('status', models.BooleanField(blank=True, default=True, help_text='菜单状态', verbose_name='菜单状态')),
|
|
('cache', models.BooleanField(blank=True, default=False, help_text='是否页面缓存', verbose_name='是否页面缓存')),
|
|
('visible', models.BooleanField(blank=True, default=True, help_text='侧边栏中是否显示', verbose_name='侧边栏中是否显示')),
|
|
('is_iframe', models.BooleanField(blank=True, default=False, help_text='框架外显示', verbose_name='框架外显示')),
|
|
('is_affix', models.BooleanField(blank=True, default=False, help_text='是否固定', verbose_name='是否固定')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('parent', models.ForeignKey(blank=True, db_constraint=False, help_text='上级菜单', null=True, on_delete=django.db.models.deletion.CASCADE, to='system.menu', verbose_name='上级菜单')),
|
|
],
|
|
options={
|
|
'verbose_name': '菜单表',
|
|
'verbose_name_plural': '菜单表',
|
|
'db_table': 'dvadmin_system_menu',
|
|
'ordering': ('sort',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='MenuButton',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(help_text='名称', max_length=64, verbose_name='名称')),
|
|
('value', models.CharField(help_text='权限值', max_length=64, unique=True, verbose_name='权限值')),
|
|
('api', models.CharField(help_text='接口地址', max_length=200, verbose_name='接口地址')),
|
|
('method', models.IntegerField(blank=True, default=0, help_text='接口请求方法', null=True, verbose_name='接口请求方法')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('menu', models.ForeignKey(db_constraint=False, help_text='关联菜单', on_delete=django.db.models.deletion.CASCADE, related_name='menuPermission', to='system.menu', verbose_name='关联菜单')),
|
|
],
|
|
options={
|
|
'verbose_name': '菜单权限表',
|
|
'verbose_name_plural': '菜单权限表',
|
|
'db_table': 'dvadmin_system_menu_button',
|
|
'ordering': ('-name',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='MessageCenter',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('title', models.CharField(help_text='标题', max_length=100, verbose_name='标题')),
|
|
('content', models.TextField(help_text='内容', verbose_name='内容')),
|
|
('target_type', models.IntegerField(default=0, help_text='目标类型', verbose_name='目标类型')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('target_dept', models.ManyToManyField(blank=True, db_constraint=False, help_text='目标部门', to='system.dept', verbose_name='目标部门')),
|
|
],
|
|
options={
|
|
'verbose_name': '消息中心',
|
|
'verbose_name_plural': '消息中心',
|
|
'db_table': 'dvadmin_message_center',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Role',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(help_text='角色名称', max_length=64, verbose_name='角色名称')),
|
|
('key', models.CharField(help_text='权限字符', max_length=64, unique=True, verbose_name='权限字符')),
|
|
('sort', models.IntegerField(default=1, help_text='角色顺序', verbose_name='角色顺序')),
|
|
('status', models.BooleanField(default=True, help_text='角色状态', verbose_name='角色状态')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '角色表',
|
|
'verbose_name_plural': '角色表',
|
|
'db_table': 'dvadmin_system_role',
|
|
'ordering': ('sort',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='RoleMenuPermission',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('menu', models.ForeignKey(db_constraint=False, help_text='关联菜单', on_delete=django.db.models.deletion.CASCADE, related_name='role_menu', to='system.menu', verbose_name='关联菜单')),
|
|
('role', models.ForeignKey(db_constraint=False, help_text='关联角色', on_delete=django.db.models.deletion.CASCADE, related_name='role_menu', to='system.role', verbose_name='关联角色')),
|
|
],
|
|
options={
|
|
'verbose_name': '角色菜单权限表',
|
|
'verbose_name_plural': '角色菜单权限表',
|
|
'db_table': 'dvadmin_role_menu_permission',
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='RoleMenuButtonPermission',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('data_range', models.IntegerField(choices=[(0, '仅本人数据权限'), (1, '本部门及以下数据权限'), (2, '本部门数据权限'), (3, '全部数据权限'), (4, '自定数据权限')], default=0, help_text='数据权限范围', verbose_name='数据权限范围')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('dept', models.ManyToManyField(blank=True, db_constraint=False, help_text='数据权限-关联部门', to='system.dept', verbose_name='数据权限-关联部门')),
|
|
('menu_button', models.ForeignKey(blank=True, db_constraint=False, help_text='关联菜单按钮', null=True, on_delete=django.db.models.deletion.CASCADE, related_name='menu_button_permission', to='system.menubutton', verbose_name='关联菜单按钮')),
|
|
('role', models.ForeignKey(db_constraint=False, help_text='关联角色', on_delete=django.db.models.deletion.CASCADE, related_name='role_menu_button', to='system.role', verbose_name='关联角色')),
|
|
],
|
|
options={
|
|
'verbose_name': '角色按钮权限表',
|
|
'verbose_name_plural': '角色按钮权限表',
|
|
'db_table': 'dvadmin_role_menu_button_permission',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Post',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(help_text='岗位名称', max_length=64, verbose_name='岗位名称')),
|
|
('code', models.CharField(help_text='岗位编码', max_length=32, verbose_name='岗位编码')),
|
|
('sort', models.IntegerField(default=1, help_text='岗位顺序', verbose_name='岗位顺序')),
|
|
('status', models.IntegerField(choices=[(0, '离职'), (1, '在职')], default=1, help_text='岗位状态', verbose_name='岗位状态')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '岗位表',
|
|
'verbose_name_plural': '岗位表',
|
|
'db_table': 'dvadmin_system_post',
|
|
'ordering': ('sort',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='OperationLog',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('request_modular', models.CharField(blank=True, help_text='请求模块', max_length=64, null=True, verbose_name='请求模块')),
|
|
('request_path', models.CharField(blank=True, help_text='请求地址', max_length=400, null=True, verbose_name='请求地址')),
|
|
('request_body', models.TextField(blank=True, help_text='请求参数', null=True, verbose_name='请求参数')),
|
|
('request_method', models.CharField(blank=True, help_text='请求方式', max_length=8, null=True, verbose_name='请求方式')),
|
|
('request_msg', models.TextField(blank=True, help_text='操作说明', null=True, verbose_name='操作说明')),
|
|
('request_ip', models.CharField(blank=True, help_text='请求ip地址', max_length=32, null=True, verbose_name='请求ip地址')),
|
|
('request_browser', models.CharField(blank=True, help_text='请求浏览器', max_length=64, null=True, verbose_name='请求浏览器')),
|
|
('response_code', models.CharField(blank=True, help_text='响应状态码', max_length=32, null=True, verbose_name='响应状态码')),
|
|
('request_os', models.CharField(blank=True, help_text='操作系统', max_length=64, null=True, verbose_name='操作系统')),
|
|
('json_result', models.TextField(blank=True, help_text='返回信息', null=True, verbose_name='返回信息')),
|
|
('status', models.BooleanField(default=False, help_text='响应状态', verbose_name='响应状态')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '操作日志',
|
|
'verbose_name_plural': '操作日志',
|
|
'db_table': 'dvadmin_system_operation_log',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='MessageCenterTargetUser',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('is_read', models.BooleanField(blank=True, default=False, help_text='是否已读', null=True, verbose_name='是否已读')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('messagecenter', models.ForeignKey(db_constraint=False, help_text='关联消息中心表', on_delete=django.db.models.deletion.CASCADE, to='system.messagecenter', verbose_name='关联消息中心表')),
|
|
('users', models.ForeignKey(db_constraint=False, help_text='关联用户表', on_delete=django.db.models.deletion.CASCADE, related_name='target_user', to=settings.AUTH_USER_MODEL, verbose_name='关联用户表')),
|
|
],
|
|
options={
|
|
'verbose_name': '消息中心目标用户表',
|
|
'verbose_name_plural': '消息中心目标用户表',
|
|
'db_table': 'dvadmin_message_center_target_user',
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='messagecenter',
|
|
name='target_role',
|
|
field=models.ManyToManyField(blank=True, db_constraint=False, help_text='目标角色', to='system.role', verbose_name='目标角色'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='messagecenter',
|
|
name='target_user',
|
|
field=models.ManyToManyField(blank=True, help_text='目标用户', related_name='user', through='system.MessageCenterTargetUser', to=settings.AUTH_USER_MODEL, verbose_name='目标用户'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='MenuField',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('model', models.CharField(max_length=64, verbose_name='表名')),
|
|
('field_name', models.CharField(max_length=64, verbose_name='模型表字段名')),
|
|
('title', models.CharField(max_length=64, verbose_name='字段显示名')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('menu', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, to='system.menu', verbose_name='菜单')),
|
|
],
|
|
options={
|
|
'verbose_name': '菜单字段表',
|
|
'verbose_name_plural': '菜单字段表',
|
|
'db_table': 'dvadmin_system_menu_field',
|
|
'ordering': ('id',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='LoginLog',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('username', models.CharField(blank=True, help_text='登录用户名', max_length=32, null=True, verbose_name='登录用户名')),
|
|
('ip', models.CharField(blank=True, help_text='登录ip', max_length=32, null=True, verbose_name='登录ip')),
|
|
('agent', models.TextField(blank=True, help_text='agent信息', null=True, verbose_name='agent信息')),
|
|
('browser', models.CharField(blank=True, help_text='浏览器名', max_length=200, null=True, verbose_name='浏览器名')),
|
|
('os', models.CharField(blank=True, help_text='操作系统', max_length=200, null=True, verbose_name='操作系统')),
|
|
('continent', models.CharField(blank=True, help_text='州', max_length=50, null=True, verbose_name='州')),
|
|
('country', models.CharField(blank=True, help_text='国家', max_length=50, null=True, verbose_name='国家')),
|
|
('province', models.CharField(blank=True, help_text='省份', max_length=50, null=True, verbose_name='省份')),
|
|
('city', models.CharField(blank=True, help_text='城市', max_length=50, null=True, verbose_name='城市')),
|
|
('district', models.CharField(blank=True, help_text='县区', max_length=50, null=True, verbose_name='县区')),
|
|
('isp', models.CharField(blank=True, help_text='运营商', max_length=50, null=True, verbose_name='运营商')),
|
|
('area_code', models.CharField(blank=True, help_text='区域代码', max_length=50, null=True, verbose_name='区域代码')),
|
|
('country_english', models.CharField(blank=True, help_text='英文全称', max_length=50, null=True, verbose_name='英文全称')),
|
|
('country_code', models.CharField(blank=True, help_text='简称', max_length=50, null=True, verbose_name='简称')),
|
|
('longitude', models.CharField(blank=True, help_text='经度', max_length=50, null=True, verbose_name='经度')),
|
|
('latitude', models.CharField(blank=True, help_text='纬度', max_length=50, null=True, verbose_name='纬度')),
|
|
('login_type', models.IntegerField(choices=[(1, '普通登录'), (2, '微信扫码登录')], default=1, help_text='登录类型', verbose_name='登录类型')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '登录日志',
|
|
'verbose_name_plural': '登录日志',
|
|
'db_table': 'dvadmin_system_login_log',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='FileList',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(blank=True, help_text='名称', max_length=200, null=True, verbose_name='名称')),
|
|
('url', models.FileField(blank=True, null=True, upload_to=dvadmin.system.models.media_file_name)),
|
|
('file_url', models.CharField(blank=True, help_text='文件地址', max_length=255, verbose_name='文件地址')),
|
|
('engine', models.CharField(blank=True, default='local', help_text='引擎', max_length=100, verbose_name='引擎')),
|
|
('mime_type', models.CharField(blank=True, help_text='Mime类型', max_length=100, verbose_name='Mime类型')),
|
|
('size', models.CharField(blank=True, help_text='文件大小', max_length=36, verbose_name='文件大小')),
|
|
('md5sum', models.CharField(blank=True, help_text='文件md5', max_length=36, verbose_name='文件md5')),
|
|
('upload_method', models.SmallIntegerField(blank=True, choices=[(0, '默认上传'), (1, '文件选择器上传')], default=0, help_text='上传方式', null=True, verbose_name='上传方式')),
|
|
('file_type', models.SmallIntegerField(blank=True, choices=[(0, '图片'), (1, '视频'), (2, '音频'), (3, '其他')], default=3, help_text='文件类型', null=True, verbose_name='文件类型')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '文件管理',
|
|
'verbose_name_plural': '文件管理',
|
|
'db_table': 'dvadmin_system_file_list',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='FieldPermission',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('is_query', models.BooleanField(default=1, verbose_name='是否可查询')),
|
|
('is_create', models.BooleanField(default=1, verbose_name='是否可创建')),
|
|
('is_update', models.BooleanField(default=1, verbose_name='是否可更新')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('field', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, related_name='menu_field', to='system.menufield', verbose_name='字段')),
|
|
('role', models.ForeignKey(db_constraint=False, on_delete=django.db.models.deletion.CASCADE, to='system.role', verbose_name='角色')),
|
|
],
|
|
options={
|
|
'verbose_name': '字段权限表',
|
|
'verbose_name_plural': '字段权限表',
|
|
'db_table': 'dvadmin_system_field_permission',
|
|
'ordering': ('id',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='DownloadCenter',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('task_name', models.CharField(help_text='任务名称', max_length=255, verbose_name='任务名称')),
|
|
('task_status', models.SmallIntegerField(choices=[(0, '任务已创建'), (1, '任务进行中'), (2, '任务完成'), (3, '任务失败')], default=0, help_text='是否可下载', verbose_name='是否可下载')),
|
|
('file_name', models.CharField(blank=True, help_text='文件名', max_length=255, null=True, verbose_name='文件名')),
|
|
('url', models.FileField(blank=True, null=True, upload_to=dvadmin.system.models.media_file_name_downloadcenter)),
|
|
('size', models.BigIntegerField(default=0, help_text='文件大小', verbose_name='文件大小')),
|
|
('md5sum', models.CharField(blank=True, help_text='文件md5', max_length=36, null=True, verbose_name='文件md5')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '下载中心',
|
|
'verbose_name_plural': '下载中心',
|
|
'db_table': 'dvadmin_download_center',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Dictionary',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('label', models.CharField(blank=True, help_text='字典名称', max_length=100, null=True, verbose_name='字典名称')),
|
|
('value', models.CharField(blank=True, help_text='字典编号/实际值', max_length=200, null=True, verbose_name='字典编号')),
|
|
('type', models.IntegerField(choices=[(0, 'text'), (1, 'number'), (2, 'date'), (3, 'datetime'), (4, 'time'), (5, 'files'), (6, 'boolean'), (7, 'images')], default=0, help_text='数据值类型', verbose_name='数据值类型')),
|
|
('color', models.CharField(blank=True, help_text='颜色', max_length=20, null=True, verbose_name='颜色')),
|
|
('is_value', models.BooleanField(default=False, help_text='是否为value值,用来做具体值存放', verbose_name='是否为value值')),
|
|
('status', models.BooleanField(default=True, help_text='状态', verbose_name='状态')),
|
|
('sort', models.IntegerField(blank=True, default=1, help_text='显示排序', null=True, verbose_name='显示排序')),
|
|
('remark', models.CharField(blank=True, help_text='备注', max_length=2000, null=True, verbose_name='备注')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('parent', models.ForeignKey(blank=True, db_constraint=False, help_text='父级', null=True, on_delete=django.db.models.deletion.PROTECT, related_name='sublist', to='system.dictionary', verbose_name='父级')),
|
|
],
|
|
options={
|
|
'verbose_name': '字典表',
|
|
'verbose_name_plural': '字典表',
|
|
'db_table': 'dvadmin_system_dictionary',
|
|
'ordering': ('sort',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Area',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('name', models.CharField(help_text='名称', max_length=100, verbose_name='名称')),
|
|
('code', models.CharField(db_index=True, help_text='地区编码', max_length=20, unique=True, verbose_name='地区编码')),
|
|
('level', models.BigIntegerField(help_text='地区层级(1省份 2城市 3区县 4乡级)', verbose_name='地区层级(1省份 2城市 3区县 4乡级)')),
|
|
('pinyin', models.CharField(help_text='拼音', max_length=255, verbose_name='拼音')),
|
|
('initials', models.CharField(help_text='首字母', max_length=20, verbose_name='首字母')),
|
|
('enable', models.BooleanField(default=True, help_text='是否启用', verbose_name='是否启用')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('pcode', models.ForeignKey(blank=True, db_constraint=False, help_text='父地区编码', null=True, on_delete=django.db.models.deletion.CASCADE, to='system.area', to_field='code', verbose_name='父地区编码')),
|
|
],
|
|
options={
|
|
'verbose_name': '地区表',
|
|
'verbose_name_plural': '地区表',
|
|
'db_table': 'dvadmin_system_area',
|
|
'ordering': ('code',),
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ApiWhiteList',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('url', models.CharField(help_text='url地址', max_length=200, verbose_name='url')),
|
|
('method', models.IntegerField(blank=True, default=0, help_text='接口请求方法', null=True, verbose_name='接口请求方法')),
|
|
('enable_datasource', models.BooleanField(blank=True, default=True, help_text='激活数据权限', verbose_name='激活数据权限')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
],
|
|
options={
|
|
'verbose_name': '接口白名单',
|
|
'verbose_name_plural': '接口白名单',
|
|
'db_table': 'dvadmin_api_white_list',
|
|
'ordering': ('-create_datetime',),
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='current_role',
|
|
field=models.ForeignKey(blank=True, db_constraint=False, help_text='当前登录角色', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='current_role_set', to='system.role', verbose_name='当前登录角色'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='dept',
|
|
field=models.ForeignKey(blank=True, db_constraint=False, help_text='关联部门', null=True, on_delete=django.db.models.deletion.PROTECT, to='system.dept', verbose_name='所属部门'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='groups',
|
|
field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.group', verbose_name='groups'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='manage_dept',
|
|
field=models.ManyToManyField(blank=True, db_constraint=False, help_text='管理部门', related_name='manage_dept_set', to='system.dept', verbose_name='管理部门'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='post',
|
|
field=models.ManyToManyField(blank=True, db_constraint=False, help_text='关联岗位', to='system.post', verbose_name='关联岗位'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='role',
|
|
field=models.ManyToManyField(blank=True, db_constraint=False, help_text='关联角色', to='system.role', verbose_name='关联角色'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='users',
|
|
name='user_permissions',
|
|
field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.permission', verbose_name='user permissions'),
|
|
),
|
|
migrations.CreateModel(
|
|
name='SystemConfig',
|
|
fields=[
|
|
('id', models.BigAutoField(help_text='Id', primary_key=True, serialize=False, verbose_name='Id')),
|
|
('description', models.CharField(blank=True, help_text='描述', max_length=255, null=True, verbose_name='描述')),
|
|
('modifier', models.CharField(blank=True, help_text='修改人', max_length=255, null=True, verbose_name='修改人')),
|
|
('dept_belong_id', models.CharField(blank=True, help_text='数据归属部门', max_length=255, null=True, verbose_name='数据归属部门')),
|
|
('update_datetime', models.DateTimeField(auto_now=True, help_text='修改时间', null=True, verbose_name='修改时间')),
|
|
('create_datetime', models.DateTimeField(auto_now_add=True, help_text='创建时间', null=True, verbose_name='创建时间')),
|
|
('title', models.CharField(help_text='标题', max_length=50, verbose_name='标题')),
|
|
('key', models.CharField(db_index=True, help_text='键', max_length=100, verbose_name='键')),
|
|
('value', models.JSONField(blank=True, help_text='值', max_length=100, null=True, verbose_name='值')),
|
|
('sort', models.IntegerField(blank=True, default=0, help_text='排序', verbose_name='排序')),
|
|
('status', models.BooleanField(default=True, help_text='启用状态', verbose_name='启用状态')),
|
|
('data_options', models.JSONField(blank=True, help_text='数据options', null=True, verbose_name='数据options')),
|
|
('form_item_type', models.IntegerField(blank=True, choices=[(0, 'text'), (1, 'datetime'), (2, 'date'), (3, 'textarea'), (4, 'select'), (5, 'checkbox'), (6, 'radio'), (7, 'img'), (8, 'file'), (9, 'switch'), (10, 'number'), (11, 'array'), (12, 'imgs'), (13, 'foreignkey'), (14, 'manytomany'), (15, 'time')], default=0, help_text='表单类型', verbose_name='表单类型')),
|
|
('rule', models.JSONField(blank=True, help_text='校验规则', null=True, verbose_name='校验规则')),
|
|
('placeholder', models.CharField(blank=True, help_text='提示信息', max_length=50, null=True, verbose_name='提示信息')),
|
|
('setting', models.JSONField(blank=True, help_text='配置', null=True, verbose_name='配置')),
|
|
('creator', models.ForeignKey(db_constraint=False, help_text='创建人', null=True, on_delete=django.db.models.deletion.SET_NULL, related_query_name='creator_query', to=settings.AUTH_USER_MODEL, verbose_name='创建人')),
|
|
('parent', models.ForeignKey(blank=True, db_constraint=False, help_text='父级', null=True, on_delete=django.db.models.deletion.CASCADE, to='system.systemconfig', verbose_name='父级')),
|
|
],
|
|
options={
|
|
'verbose_name': '系统配置表',
|
|
'verbose_name_plural': '系统配置表',
|
|
'db_table': 'dvadmin_system_config',
|
|
'ordering': ('sort',),
|
|
'unique_together': {('key', 'parent_id')},
|
|
},
|
|
),
|
|
]
|