from django.core.management.base import BaseCommand from django.contrib.auth.models import User from assetapp.models import Category class Command(BaseCommand): help = '初始化系统:创建管理员用户和默认分类' def handle(self, *args, **options): # 创建管理员 if not User.objects.filter(username='admin').exists(): User.objects.create_superuser('admin', 'admin@example.com', 'admin123') self.stdout.write(self.style.SUCCESS('✓ 管理员用户已创建 (admin/admin123)')) else: self.stdout.write(' 管理员用户已存在,跳过') # 创建默认分类 default_categories = [ ('服务器', '各类物理服务器、虚拟化主机'), ('交换机', '网络交换设备'), ('路由器', '网络路由设备'), ('存储设备', 'SAN/NAS等存储设备'), ('防火墙', '网络安全设备'), ('UPS', '不间断电源设备'), ('其他', '其他类型设备'), ] created_count = 0 for name, desc in default_categories: cat, created = Category.objects.get_or_create( name=name, defaults={'description': desc} ) if created: created_count += 1 self.stdout.write(self.style.SUCCESS(f'✓ 分类初始化完成 (新增 {created_count} 个)')) self.stdout.write(self.style.SUCCESS('\n初始化完成!请使用 admin/admin123 登录'))