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.
 
 
mortezaei a210e19fd0 Add online class entry flow documentation and implement token management 8 months ago
..
seed_images Add API documentation templates, authentication UI, and pagination utility 11 months ago
README.md Add API documentation templates, authentication UI, and pagination utility 11 months ago
clear_hadis_data.py Add API documentation templates, authentication UI, and pagination utility 11 months ago
optimize_hadis_transmitters.py Refactor API Documentation System and optimize Hadis data scripts 10 months ago
seed_hadis_data.py Add management commands for seeding basic and comprehensive Hadis data 11 months ago
test.xmind Add API documentation templates, authentication UI, and pagination utility 11 months ago

README.md

Скрипты для заполнения данными приложения Hadis

Этот каталог содержит скрипты для создания и управления тестовыми данными для приложения Hadis.

Файлы

Основные скрипты

  • seed_hadis_data.py - Основной скрипт для создания тестовых данных
  • clear_hadis_data.py - Скрипт для очистки созданных данных
  • README.md - Этот файл с документацией

Ресурсы

  • seed_images/ - Каталог с изображениями для обложек книг
    • book1.png, book2.png, book3.png, book4.png
  • test.xmind - Файл XMind для категорий хадисов

Использование

Создание тестовых данных

# Создать данные без очистки существующих
python scripts/seed_hadis_data.py

# Создать данные с очисткой существующих (ОСТОРОЖНО!)
python scripts/seed_hadis_data.py --clear

# Создать данные без очистки (явно)
python scripts/seed_hadis_data.py --no-clear

Очистка данных

# Очистить все данные хадисов и связанные данные библиотеки
python scripts/clear_hadis_data.py

# Очистить только данные хадисов, оставить библиотеку
python scripts/clear_hadis_data.py --hadis-only

# Принудительная очистка без подтверждения
python scripts/clear_hadis_data.py --force

Создаваемые данные

Модели Hadis

  1. HadisSect (Секты)

    • Шииты-двунадесятники
    • Сунниты
  2. HadisStatus (Статусы хадисов)

    • Достоверный, Хороший, Слабый, Выдуманный, и др.
  3. HadisTag (Теги)

    • Поклонение, Молитва, Пост, Хадж, Закят, и др.
  4. HadisCategory (Категории) - Иерархическая структура

    • Коран: Толкование Корана, Аяты предписаний, и др.
    • Хадисы: Книга молитвы, Книга поста, Книга хаджа, и др.
  5. Transmitters (Передатчики)

    • Известные мухаддисы и имамы
  6. Hadis (Хадисы)

    • Реалистичные тексты хадисов на русском языке
    • Переводы на персидском и английском
    • Объяснения и комментарии
  7. HadisTransmitter (Цепочки передачи)

    • Цепочки передатчиков для каждого хадиса
    • Включая пропуски в цепочках
  8. HadisReference (Ссылки)

    • Связи хадисов с книгами
  9. ReferenceImage (Изображения ссылок)

    • Изображения для ссылок на источники

Модели Library

  1. Book (Книги)

    • Аль-Кафи, Сахих аль-Бухари, и др.
    • С обложками из seed_images
  2. Category (Категории библиотеки)

    • Книги хадисов, Книги фикха, и др.
  3. BookCollection (Коллекции книг)

    • Шиитские книги хадисов, Суннитские книги хадисов

Особенности

Реалистичные данные

  • Все тексты на русском языке
  • Аутентичные названия книг и имена передатчиков
  • Правильная иерархия категорий
  • Реалистичные цепочки передачи

Связи между моделями

  • Правильные foreign key связи
  • Many-to-many отношения для тегов
  • Иерархические структуры (MPTT) для категорий

Файлы и изображения

  • XMind файлы для категорий
  • Изображения обложек для книг
  • Изображения для ссылок

Безопасность

  • Транзакционная безопасность
  • Возможность отката при ошибках
  • Подтверждение перед удалением данных

Структура данных

HadisSect (2 записи)
├── HadisCategory (иерархическая структура)
│   ├── Quran categories (4 основные + дочерние)
│   └── Hadith categories (7 основных + дочерние)
│
├── Hadis (2-4 хадиса на категорию)
│   ├── HadisTransmitter (цепочки 3-6 передатчиков)
│   ├── HadisReference (1-3 ссылки на книги)
│   └── ReferenceImage (изображения для ссылок)
│
├── HadisStatus (7 статусов)
├── HadisTag (30+ тегов)
└── Transmitters (10 известных передатчиков)

Library Models:
├── Book (4 книги с обложками)
├── Category (5 категорий)
└── BookCollection (3 коллекции)

Тестирование API

После создания данных можно тестировать API:

# Список сект
curl -X GET "http://localhost:8000/api/hadis/sects/"

# Категории по секте
curl -X GET "http://localhost:8000/api/hadis/sect/1/categories/"

# Хадисы по категории
curl -X GET "http://localhost:8000/api/hadis/category/1/hadis/"

Требования

  • Django проект настроен и работает
  • Все зависимости установлены
  • База данных мигрирована
  • Файлы seed_images и test.xmind присутствуют

Примечания

  • Скрипт создает данные на русском языке
  • Используются реалистичные исламские термины и имена
  • Данные подходят для демонстрации и тестирования
  • Можно безопасно запускать несколько раз
  • Поддерживается частичная очистка данных