from django.core.management.base import BaseCommand from apps.regions.models import Region class Command(BaseCommand): help = 'Seed Chinese provinces data' # 中国 34 个省级行政区 PROVINCES = [ # 直辖市 '北京市', '天津市', '上海市', '重庆市', # 省 '河北省', '山西省', '辽宁省', '吉林省', '黑龙江省', '江苏省', '浙江省', '安徽省', '福建省', '江西省', '山东省', '河南省', '湖北省', '湖南省', '广东省', '海南省', '四川省', '贵州省', '云南省', '陕西省', '甘肃省', '青海省', '台湾省', # 自治区 '内蒙古自治区', '广西壮族自治区', '西藏自治区', '宁夏回族自治区', '新疆维吾尔自治区', # 特别行政区 '香港特别行政区', '澳门特别行政区', ] def handle(self, *args, **options): created_count = 0 skipped_count = 0 for province_name in self.PROVINCES: obj, created = Region.objects.get_or_create( name=province_name, level='province', parent=None, ) if created: created_count += 1 self.stdout.write(self.style.SUCCESS(f'✓ Created: {province_name}')) else: skipped_count += 1 self.stdout.write(f'- Skipped (exists): {province_name}') self.stdout.write(self.style.SUCCESS( f'\n✅ Done! Created: {created_count}, Skipped: {skipped_count}' ))