HH/check_hierarchy.py

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()}')