You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.4 KiB
2.4 KiB
Hadis Management Commands
seed_hadis_data
This management command seeds comprehensive data for all Hadis app models with realistic sample records while maintaining proper relationships and business domain logic.
Usage
# Basic usage - seed data with default settings
python manage.py seed_hadis_data
# Clear existing data before seeding
python manage.py seed_hadis_data --clear
# Specify custom images directory
python manage.py seed_hadis_data --images-dir /path/to/images
# Specify custom XMind file
python manage.py seed_hadis_data --xmind-file /path/to/file.xmind
# Combine options
python manage.py seed_hadis_data --clear --images-dir scripts/seed_images --xmind-file scripts/test.xmind
Options
--clear: Clear existing hadis data before seeding (optional)--images-dir: Directory containing seed images (default: scripts/seed_images)--xmind-file: Path to XMind file for categories (default: scripts/test.xmind)
What it creates
- HadisStatus records: Various hadis authenticity statuses (Достоверный, Хороший, etc.)
- HadisTag records: Topic tags for categorizing hadis
- HadisSect records: Shia and Sunni sects
- HadisCategory records: Hierarchical categories for both Quran and Hadith sources
- Library data: Books, categories, and collections for references
- Transmitters: Historical figures who transmitted hadis
- Hadis records: Complete hadis with translations, explanations, and relationships
- Transmission chains: Links between hadis and transmitters
- References: Book references with images
Requirements
- The images directory must contain PNG files for book covers and reference images
- The XMind file is optional but recommended for category mind maps
- All models must be properly migrated before running
Performance
The command uses optimized batch operations to create data efficiently:
- Bulk create/update operations for categories
- Checks for existing records to avoid duplicates
- Progress reporting for large datasets
Example Output
Starting Hadis data seeding...
Found 4 seed images
XMind file: scripts/test.xmind
Creating Hadis Statuses...
Created status: Достоверный
Created status: Хороший
...
Creating Hadis Categories...
Creating categories for Шииты-двунадесятники...
Batch created 6 Quran categories
...
Successfully seeded all Hadis data!