39 lines
1.4 KiB
Python
39 lines
1.4 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('Checking hierarchy structure...')
|
|
print()
|
|
|
|
# Check domains (level 1, should have no parent)
|
|
print('Domains (Level 1):')
|
|
domains = ComplaintCategory.objects.filter(level=1)
|
|
for dom in domains:
|
|
print(f' ID: {dom.id}, Name: {dom.name_en}, Parent: {dom.parent_id}')
|
|
print()
|
|
|
|
# Check categories (level 2, should have parent = domain)
|
|
print('Categories (Level 2) with parents:')
|
|
categories = ComplaintCategory.objects.filter(level=2)
|
|
for cat in categories[:10]:
|
|
parent = cat.parent.name_en if cat.parent else 'None'
|
|
print(f' ID: {cat.id}, Name: {cat.name_en}, Parent: {parent} (ID: {cat.parent_id})')
|
|
print()
|
|
|
|
# Check subcategories (level 3, should have parent = category)
|
|
print('Subcategories (Level 3) with parents:')
|
|
subcategories = ComplaintCategory.objects.filter(level=3)[:10]
|
|
for sub in subcategories:
|
|
parent = sub.parent.name_en if sub.parent else 'None'
|
|
print(f' ID: {sub.id}, Name: {sub.name_en}, Parent: {parent} (ID: {sub.parent_id})')
|
|
print()
|
|
|
|
# Check hospitals relationship
|
|
print('Checking hospitals relationship...')
|
|
print(f'Categories with any hospitals: {ComplaintCategory.objects.filter(hospitals__isnull=False).count()}')
|
|
print(f'Categories with no hospitals (system-wide): {ComplaintCategory.objects.filter(hospitals__isnull=True).count()}') |