# Generated by Django 4.2.29 on 2026-03-15 17:11 from django.conf import settings from django.db import migrations, models import django.db.models.deletion class Migration(migrations.Migration): dependencies = [ ('accounts', '0004_data_migrate_default_team'), ] operations = [ migrations.CreateModel( name='AdminAuditLog', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('operator_name', models.CharField(max_length=150, verbose_name='操作人用户名')), ('action', models.CharField(choices=[('team_create', '创建团队'), ('team_update', '更新团队'), ('team_topup', '团队充值'), ('team_set_pool', '设置团队额度池'), ('team_create_admin', '创建团队管理员'), ('user_create', '创建用户'), ('user_quota_update', '更新用户额度'), ('user_status_toggle', '切换用户状态'), ('settings_update', '更新系统设置'), ('member_create', '创建团队成员'), ('member_quota_update', '更新成员额度'), ('member_status_toggle', '切换成员状态')], max_length=30, verbose_name='操作类型')), ('target_type', models.CharField(max_length=20, verbose_name='目标类型')), ('target_id', models.IntegerField(blank=True, null=True, verbose_name='目标ID')), ('target_name', models.CharField(blank=True, default='', max_length=200, verbose_name='目标名称')), ('before', models.JSONField(blank=True, null=True, verbose_name='变更前')), ('after', models.JSONField(blank=True, null=True, verbose_name='变更后')), ('ip_address', models.GenericIPAddressField(blank=True, null=True, verbose_name='IP地址')), ('created_at', models.DateTimeField(auto_now_add=True, db_index=True, verbose_name='操作时间')), ('operator', models.ForeignKey(null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='audit_logs', to=settings.AUTH_USER_MODEL, verbose_name='操作人')), ], options={ 'verbose_name': '审计日志', 'verbose_name_plural': '审计日志', 'ordering': ['-created_at'], }, ), ]