|
|
|
|
@ -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'], # 默认排序:按创建时间倒序
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
]
|
|
|
|
|
]
|