30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
#!/usr/bin/env python
|
|
import os
|
|
import django
|
|
|
|
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'config.settings')
|
|
django.setup()
|
|
|
|
from apps.complaints.models import ComplaintCategory
|
|
|
|
print('=== COMPLAINT TAXONOMY STRUCTURE ===\n')
|
|
print(f'Total Categories: {ComplaintCategory.objects.count()}')
|
|
print()
|
|
|
|
domains = ComplaintCategory.objects.filter(level=1).order_by('name_en')
|
|
print('LEVEL 1 - DOMAINS:')
|
|
for d in domains:
|
|
print(f' [{str(d.id)[:8]}...] {d.name_en}')
|
|
|
|
categories = ComplaintCategory.objects.filter(level=2, parent_id=d.id).order_by('name_en')
|
|
for c in categories:
|
|
print(f' [{str(c.id)[:8]}...] {c.name_en}')
|
|
|
|
subcategories = ComplaintCategory.objects.filter(level=3, parent_id=c.id).order_by('name_en')
|
|
for sc in subcategories:
|
|
print(f' [{str(sc.id)[:8]}...] {sc.name_en} (code: {sc.code})')
|
|
|
|
classifications = ComplaintCategory.objects.filter(level=4, parent_id=sc.id).order_by('name_en')
|
|
for cl in classifications:
|
|
print(f' [{str(cl.id)[:8]}...] {cl.name_en} (code: {cl.code})')
|