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.
|
|
4 weeks ago | |
|---|---|---|
| .. | ||
| seed_images | 11 months ago | |
| README.md | 11 months ago | |
| __init__.py | 5 months ago | |
| clear_hadis_data.py | 11 months ago | |
| optimize_hadis_transmitters.py | 10 months ago | |
| seed_books.py | 5 months ago | |
| seed_hadis_data.py | 11 months ago | |
| test.xmind | 11 months ago | |
| test_webhook.py | 7 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
-
HadisSect (Секты)
- Шииты-двунадесятники
- Сунниты
-
HadisStatus (Статусы хадисов)
- Достоверный, Хороший, Слабый, Выдуманный, и др.
-
HadisTag (Теги)
- Поклонение, Молитва, Пост, Хадж, Закят, и др.
-
HadisCategory (Категории) - Иерархическая структура
- Коран: Толкование Корана, Аяты предписаний, и др.
- Хадисы: Книга молитвы, Книга поста, Книга хаджа, и др.
-
Transmitters (Передатчики)
- Известные мухаддисы и имамы
-
Hadis (Хадисы)
- Реалистичные тексты хадисов на русском языке
- Переводы на персидском и английском
- Объяснения и комментарии
-
HadisTransmitter (Цепочки передачи)
- Цепочки передатчиков для каждого хадиса
- Включая пропуски в цепочках
-
HadisReference (Ссылки)
- Связи хадисов с книгами
-
ReferenceImage (Изображения ссылок)
- Изображения для ссылок на источники
Модели Library
-
Book (Книги)
- Аль-Кафи, Сахих аль-Бухари, и др.
- С обложками из seed_images
-
Category (Категории библиотеки)
- Книги хадисов, Книги фикха, и др.
-
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 присутствуют
Примечания
- Скрипт создает данные на русском языке
- Используются реалистичные исламские термины и имена
- Данные подходят для демонстрации и тестирования
- Можно безопасно запускать несколько раз
- Поддерживается частичная очистка данных