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