diff --git a/src/DjangoBlog-master/oauth/migrations/0001_initial.py b/src/DjangoBlog-master/oauth/migrations/0001_initial.py index 3aa3e03..c7421bd 100644 --- a/src/DjangoBlog-master/oauth/migrations/0001_initial.py +++ b/src/DjangoBlog-master/oauth/migrations/0001_initial.py @@ -1,5 +1,4 @@ -# Generated by Django 4.1.7 on 2023-03-07 09:53 - +# 由Django 4.1.7生成于2023年3月7日09:53 from django.conf import settings from django.db import migrations, models import django.db.models.deletion @@ -7,51 +6,74 @@ import django.utils.timezone class Migration(migrations.Migration): - + # 标记为初始迁移(首次创建模型时使用) initial = True + # 依赖关系:依赖于Django内置用户模型的可交换依赖(支持自定义用户模型) dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] + # 迁移操作:定义要执行的数据库变更(创建模型) operations = [ + # 创建OAuthConfig模型(第三方登录配置表) migrations.CreateModel( name='OAuthConfig', fields=[ + # 自增主键ID ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + # 第三方登录类型:可选值为微博、谷歌、GitHub、FaceBook、QQ,默认值为'a'(可能是占位符),长度限制10 ('type', models.CharField(choices=[('weibo', '微博'), ('google', '谷歌'), ('github', 'GitHub'), ('facebook', 'FaceBook'), ('qq', 'QQ')], default='a', max_length=10, verbose_name='类型')), + # 第三方应用的AppKey(API密钥),长度限制200 ('appkey', models.CharField(max_length=200, verbose_name='AppKey')), + # 第三方应用的AppSecret(密钥),长度限制200 ('appsecret', models.CharField(max_length=200, verbose_name='AppSecret')), + # 回调地址:授权后跳转的URL,默认值为百度首页,长度限制200 ('callback_url', models.CharField(default='http://www.baidu.com', max_length=200, verbose_name='回调地址')), + # 是否启用该第三方登录方式,默认启用 ('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'], + 'verbose_name': 'oauth配置', # 模型的单数显示名称 + 'verbose_name_plural': 'oauth配置', # 模型的复数显示名称 + 'ordering': ['-created_time'], # 默认排序:按创建时间倒序 }, ), + # 创建OAuthUser模型(第三方登录用户关联表) migrations.CreateModel( name='OAuthUser', fields=[ + # 自增主键ID ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + # 第三方平台的唯一标识(OpenID),长度限制50 ('openid', models.CharField(max_length=50)), + # 第三方平台的用户昵称,长度限制50 ('nickname', models.CharField(max_length=50, verbose_name='昵称')), + # 访问令牌(可选,可为空或空白),长度限制150 ('token', models.CharField(blank=True, max_length=150, null=True)), + # 用户头像URL(可选,可为空或空白),长度限制350 ('picture', models.CharField(blank=True, max_length=350, null=True)), + # 第三方登录类型(如'weibo'、'github'等),长度限制50 ('type', models.CharField(max_length=50)), + # 第三方平台的用户邮箱(可选,可为空或空白),长度限制50 ('email', models.CharField(blank=True, max_length=50, null=True)), + # 额外元数据(可选,可为空或空白),存储JSON等格式的附加信息 ('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'], + 'verbose_name': 'oauth用户', # 模型的单数显示名称 + 'verbose_name_plural': 'oauth用户', # 模型的复数显示名称 + 'ordering': ['-created_time'], # 默认排序:按创建时间倒序 }, ), - ] + ] \ No newline at end of file