# Generated by Django 4.2.30 on 2026-10-20 15:23 from django.db import migrations, models MADHHAB_DATA = [ { "slug": "shia", "title": [ {"language_code": "ar", "text": "شيعي", "title": "شيعي"}, {"language_code": "fa", "text": "شیعه", "title": "شیعه"}, {"language_code": "en", "text": "Shia", "title": "Shia"}, {"language_code": "ru", "text": "Шиит", "title": "Шиит"}, ], }, { "slug": "sunni", "title": [ {"language_code": "ar", "text": "سني", "title": "سني"}, {"language_code": "fa", "text": "سنی", "title": "سنی"}, {"language_code": "en", "text": "Sunni", "title": "Sunni"}, {"language_code": "ru", "text": "Суннит", "title": "Суннит"}, ], }, { "slug": "zaydi", "title": [ {"language_code": "ar", "text": "زيدي", "title": "زيدي"}, {"language_code": "fa", "text": "زیدی", "title": "زیدی"}, {"language_code": "en", "text": "Zaydi", "title": "Zaydi"}, {"language_code": "ru", "text": "Зейдит", "title": "Зейдит"}, ], }, { "slug": "waqifi", "title": [ {"language_code": "ar", "text": "واقفي", "title": "واقفي"}, {"language_code": "fa", "text": "واقفی", "title": "واقفی"}, {"language_code": "en", "text": "Waqifi", "title": "Waqifi"}, {"language_code": "ru", "text": "Вакифит", "title": "Вакифит"}, ], }, { "slug": "fathi", "title": [ {"language_code": "ar", "text": "فطحي", "title": "فطحي"}, {"language_code": "fa", "text": "فطحی", "title": "فطحی"}, {"language_code": "en", "text": "Fathi", "title": "Fathi"}, {"language_code": "ru", "text": "Фатхит", "title": "Фатхиت"}, ], }, ] def seed_and_migrate_madhhabs(apps, schema_editor): Madhhab = apps.get_model('hadis', 'Madhhab') Transmitters = apps.get_model('hadis', 'Transmitters') madhhab_map = {} for item in MADHHAB_DATA: obj, _ = Madhhab.objects.get_or_create( slug=item["slug"], defaults={"title": item["title"]}, ) madhhab_map[item["slug"]] = obj shia_obj = madhhab_map.get("shia") sunni_obj = madhhab_map.get("sunni") if shia_obj: for t in Transmitters.objects.filter(madhhab='shia'): t.madhhabs.add(shia_obj) if sunni_obj: for t in Transmitters.objects.filter(madhhab='sunni'): t.madhhabs.add(sunni_obj) def reverse_seed(apps, schema_editor): pass class Migration(migrations.Migration): dependencies = [ ('hadis', '0061_sahabi_status_and_relation'), ] operations = [ migrations.CreateModel( name='Madhhab', 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': 'Madhhab', 'verbose_name_plural': 'Madhhabs', 'ordering': ['slug', 'id'], }, ), migrations.AddField( model_name='transmitters', name='madhhabs', field=models.ManyToManyField(blank=True, related_name='transmitters', to='hadis.madhhab', verbose_name='Madhhabs (M2M)'), ), migrations.RunPython(seed_and_migrate_madhhabs, reverse_seed), ]