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

# 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),
]