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.
116 lines
5.1 KiB
116 lines
5.1 KiB
# Generated by Django 4.2.30 on 2026-10-20 14:49
|
|
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
|
|
|
|
SAHABI_STATUS_DATA = [
|
|
{
|
|
"slug": "companion",
|
|
"title": [
|
|
{"language_code": "ar", "text": "صحابي", "title": "صحابي"},
|
|
{"language_code": "fa", "text": "صحابی", "title": "صحابی"},
|
|
{"language_code": "en", "text": "Companion", "title": "Companion"},
|
|
{"language_code": "ru", "text": "Сподвижник", "title": "Сподвижник"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "saw-the-prophet",
|
|
"title": [
|
|
{"language_code": "ar", "text": "رأى النبي", "title": "رأى النبي"},
|
|
{"language_code": "fa", "text": "رؤیت پیامبر", "title": "رؤیت پیامبر"},
|
|
{"language_code": "en", "text": "Saw the Prophet", "title": "Saw the Prophet"},
|
|
{"language_code": "ru", "text": "Видел Пророка", "title": "Видел Пророка"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "contemporary",
|
|
"title": [
|
|
{"language_code": "ar", "text": "أدرك زمان النبي", "title": "أدرك زمان النبي"},
|
|
{"language_code": "fa", "text": "درک زمان پیامبر", "title": "درک زمان پیامبر"},
|
|
{"language_code": "en", "text": "Contemporary of the Prophet", "title": "Contemporary of the Prophet"},
|
|
{"language_code": "ru", "text": "Застал время Пророка", "title": "Застал время Пророка"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "minor-companion",
|
|
"title": [
|
|
{"language_code": "ar", "text": "صحابي صغير", "title": "صحابي صغير"},
|
|
{"language_code": "fa", "text": "صحابی صغیر", "title": "صحابی صغیر"},
|
|
{"language_code": "en", "text": "Minor Companion", "title": "Minor Companion"},
|
|
{"language_code": "ru", "text": "Малый сподвижник", "title": "Малый сподвижник"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "mukhadram",
|
|
"title": [
|
|
{"language_code": "ar", "text": "مخضرم", "title": "مخضرم"},
|
|
{"language_code": "fa", "text": "مخضرم", "title": "مخضرم"},
|
|
{"language_code": "en", "text": "Mukhadram", "title": "Mukhadram"},
|
|
{"language_code": "ru", "text": "Мухадрам", "title": "Мухадрам"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "unproven",
|
|
"title": [
|
|
{"language_code": "ar", "text": "غير مثبت", "title": "غير مثبت"},
|
|
{"language_code": "fa", "text": "اثباتنشده", "title": "اثباتنشده"},
|
|
{"language_code": "en", "text": "Unproven", "title": "Unproven"},
|
|
{"language_code": "ru", "text": "Не доказано", "title": "Не доказано"},
|
|
],
|
|
},
|
|
{
|
|
"slug": "disputed",
|
|
"title": [
|
|
{"language_code": "ar", "text": "مختلف فيه", "title": "مختلف فيه"},
|
|
{"language_code": "fa", "text": "اختلافی / محل بحث", "title": "اختلافی / محل بحث"},
|
|
{"language_code": "en", "text": "Disputed", "title": "Disputed"},
|
|
{"language_code": "ru", "text": "Спорный", "title": "Спорный"},
|
|
],
|
|
},
|
|
]
|
|
|
|
|
|
def seed_sahabi_statuses(apps, schema_editor):
|
|
SahabiStatus = apps.get_model('hadis', 'SahabiStatus')
|
|
for item in SAHABI_STATUS_DATA:
|
|
SahabiStatus.objects.get_or_create(
|
|
slug=item["slug"],
|
|
defaults={"title": item["title"]},
|
|
)
|
|
|
|
|
|
def reverse_seed(apps, schema_editor):
|
|
pass
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
dependencies = [
|
|
('hadis', '0060_transmitter_feature_and_relations'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='SahabiStatus',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('title', models.JSONField(default=list, verbose_name='Title')),
|
|
('slug', models.SlugField(allow_unicode=True, blank=True, max_length=255, unique=True, verbose_name='slug')),
|
|
('description', models.JSONField(blank=True, default=list, verbose_name='Description')),
|
|
('created_at', models.DateTimeField(auto_now_add=True, verbose_name='Created At')),
|
|
('updated_at', models.DateTimeField(auto_now=True, verbose_name='Updated At')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Sahabi Status',
|
|
'verbose_name_plural': 'Sahabi Statuses',
|
|
'ordering': ['id'],
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='transmitters',
|
|
name='sahabi_status',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='transmitters', to='hadis.sahabistatus', verbose_name='Sahabi Status'),
|
|
),
|
|
migrations.RunPython(seed_sahabi_statuses, reverse_seed),
|
|
]
|