# Generated by Django 4.1.7 on 2023-03-07 09:53 # 导入Django相关模块 from django.conf import settings from django.db import migrations, models import django.db.models.deletion import django.utils.timezone class Migration(migrations.Migration): """迁移类,定义数据库表结构的变更操作""" # 标识为初始迁移(首次创建表结构) initial = True # 依赖的其他迁移,此处依赖于用户模型的迁移 dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] # 具体的迁移操作列表 operations = [ # 创建OAuthConfig模型(存储OAuth第三方登录的配置信息) migrations.CreateModel( name='OAuthConfig', fields=[ # 自增主键ID ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), # OAuth类型字段,限定可选值为常见第三方平台,默认值为'a'(可能需要后续调整) ('type', models.CharField(choices=[('weibo', '微博'), ('google', '谷歌'), ('github', 'GitHub'), ('facebook', 'FaceBook'), ('qq', 'QQ')], default='a', max_length=10, verbose_name='类型')), # 应用AppKey字段 ('appkey', models.CharField(max_length=200, verbose_name='AppKey')), # 应用AppSecret字段 ('appsecret', models.CharField(max_length=200, verbose_name='AppSecret')), # 回调地址字段,默认值为百度首页 ('callback_url', models.CharField(default='http://www.baidu.com', max_length=200, verbose_name='回调地址')), # 是否启用该OAuth配置的布尔字段,默认启用 ('is_enable', models.BooleanField(default=True, verbose_name='是否显示')), # 创建时间字段,默认值为当前时间 ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), # 最后修改时间字段,默认值为当前时间 ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), ], # 模型元数据配置 options={ 'verbose_name': 'oauth配置', # 单数显示名称 'verbose_name_plural': 'oauth配置', # 复数显示名称 'ordering': ['-created_time'], # 排序方式:按创建时间倒序 }, ), # 创建OAuthUser模型(存储通过OAuth登录的用户信息) migrations.CreateModel( name='OAuthUser', fields=[ # 自增主键ID ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), # 第三方平台的openid ('openid', models.CharField(max_length=50)), # 第三方平台的用户昵称 ('nickname', models.CharField(max_length=50, verbose_name='昵称')), # 访问令牌,可为空 ('token', models.CharField(blank=True, max_length=150, null=True)), # 头像图片地址,可为空 ('picture', models.CharField(blank=True, max_length=350, null=True)), # OAuth类型(对应第三方平台) ('type', models.CharField(max_length=50)), # 邮箱地址,可为空 ('email', models.CharField(blank=True, max_length=50, null=True)), # 额外元数据,文本类型,可为空 ('metadata', models.TextField(blank=True, null=True)), # 创建时间字段,默认值为当前时间 ('created_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='创建时间')), # 最后修改时间字段,默认值为当前时间 ('last_mod_time', models.DateTimeField(default=django.utils.timezone.now, verbose_name='修改时间')), # 关联到本地用户模型的外键,可为空,级联删除 ('author', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL, verbose_name='用户')), ], # 模型元数据配置 options={ 'verbose_name': 'oauth用户', # 单数显示名称 'verbose_name_plural': 'oauth用户', # 复数显示名称 'ordering': ['-created_time'], # 排序方式:按创建时间倒序 }, ), ]