# Generated by Django 4.2.16 on 2025-10-15 09:12

from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name="DisabilitasType",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, unique=True)),
                ("code", models.CharField(max_length=10, unique=True)),
                ("description", models.TextField(blank=True, null=True)),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
            ],
            options={
                "verbose_name": "Jenis Disabilitas",
                "verbose_name_plural": "Jenis Disabilitas",
            },
        ),
        migrations.CreateModel(
            name="Dusun",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=100, unique=True)),
                (
                    "code",
                    models.CharField(blank=True, max_length=10, null=True, unique=True),
                ),
                ("description", models.TextField(blank=True, null=True)),
                (
                    "area_size",
                    models.DecimalField(
                        blank=True,
                        decimal_places=2,
                        help_text="Area in hectares",
                        max_digits=10,
                        null=True,
                    ),
                ),
                (
                    "population_count",
                    models.IntegerField(
                        default=0, help_text="Auto-calculated from residents"
                    ),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
            ],
            options={
                "verbose_name": "Dusun",
                "verbose_name_plural": "Dusun",
            },
        ),
        migrations.CreateModel(
            name="Lorong",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("nama_lorong", models.CharField(default="", max_length=100)),
                ("kode", models.CharField(blank=True, max_length=15, null=True)),
                (
                    "ketua_lorong",
                    models.CharField(blank=True, max_length=100, null=True),
                ),
                (
                    "rt_number",
                    models.CharField(
                        blank=True, max_length=3, null=True, verbose_name="Nomor RT"
                    ),
                ),
                ("description", models.TextField(blank=True, null=True)),
                (
                    "length",
                    models.DecimalField(
                        blank=True,
                        decimal_places=2,
                        help_text="Length in meters",
                        max_digits=8,
                        null=True,
                    ),
                ),
                (
                    "house_count",
                    models.IntegerField(
                        default=0, help_text="Auto-calculated from residents"
                    ),
                ),
                (
                    "population_count",
                    models.IntegerField(
                        default=0, help_text="Auto-calculated from residents"
                    ),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "dusun",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="lorongs",
                        to="references.dusun",
                    ),
                ),
            ],
            options={
                "verbose_name": "Lorong",
                "verbose_name_plural": "Lorong",
                "unique_together": {("dusun", "kode")},
            },
        ),
        migrations.CreateModel(
            name="Penduduk",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "nik",
                    models.CharField(max_length=16, unique=True, verbose_name="NIK"),
                ),
                ("name", models.CharField(max_length=100, verbose_name="Nama Lengkap")),
                (
                    "gender",
                    models.CharField(
                        choices=[("L", "Laki-laki"), ("P", "Perempuan")],
                        max_length=1,
                        verbose_name="Jenis Kelamin",
                    ),
                ),
                (
                    "birth_place",
                    models.CharField(max_length=100, verbose_name="Tempat Lahir"),
                ),
                ("birth_date", models.DateField(verbose_name="Tanggal Lahir")),
                (
                    "kk_number",
                    models.CharField(
                        blank=True,
                        max_length=16,
                        null=True,
                        verbose_name="Nomor Kartu Keluarga",
                    ),
                ),
                (
                    "relationship_to_head",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("KEPALA_KELUARGA", "Kepala Keluarga"),
                            ("ISTRI", "Istri"),
                            ("ANAK", "Anak"),
                            ("MENANTU", "Menantu"),
                            ("CUCU", "Cucu"),
                            ("ORANG_TUA", "Orang Tua"),
                            ("MERTUA", "Mertua"),
                            ("FAMILI_LAIN", "Famili Lain"),
                            ("PEMBANTU", "Pembantu"),
                            ("LAINNYA", "Lainnya"),
                        ],
                        max_length=50,
                        null=True,
                        verbose_name="Hubungan dengan Kepala Keluarga",
                    ),
                ),
                (
                    "religion",
                    models.CharField(
                        choices=[
                            ("Islam", "Islam"),
                            ("Kristen Protestan", "Kristen Protestan"),
                            ("Kristen Katolik", "Kristen Katolik"),
                            ("Hindu", "Hindu"),
                            ("Buddha", "Buddha"),
                            ("Konghucu", "Konghucu"),
                            ("Kepercayaan", "Kepercayaan"),
                        ],
                        max_length=50,
                        verbose_name="Agama",
                    ),
                ),
                (
                    "education",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("TIDAK_BELUM_SEKOLAH", "Tidak/Belum Sekolah"),
                            ("BELUM_TAMAT_SD", "Belum Tamat SD/Sederajat"),
                            ("TAMAT_SD", "Tamat SD/Sederajat"),
                            ("SLTP", "SLTP/Sederajat"),
                            ("SLTA", "SLTA/Sederajat"),
                            ("D1", "D1"),
                            ("D2", "D2"),
                            ("D3", "D3"),
                            ("D4_S1", "D4/S1"),
                            ("S2", "S2"),
                            ("S3", "S3"),
                        ],
                        max_length=50,
                        null=True,
                        verbose_name="Pendidikan",
                    ),
                ),
                (
                    "occupation",
                    models.CharField(
                        blank=True, max_length=100, null=True, verbose_name="Pekerjaan"
                    ),
                ),
                (
                    "marital_status",
                    models.CharField(
                        choices=[
                            ("BELUM_KAWIN", "Belum Kawin"),
                            ("KAWIN", "Kawin"),
                            ("CERAI_HIDUP", "Cerai Hidup"),
                            ("CERAI_MATI", "Cerai Mati"),
                        ],
                        max_length=15,
                        verbose_name="Status Perkawinan",
                    ),
                ),
                (
                    "blood_type",
                    models.CharField(
                        blank=True,
                        choices=[("A", "A"), ("B", "B"), ("AB", "AB"), ("O", "O")],
                        max_length=2,
                        null=True,
                        verbose_name="Golongan Darah",
                    ),
                ),
                (
                    "height",
                    models.PositiveIntegerField(
                        blank=True,
                        help_text="Tinggi badan dalam cm",
                        null=True,
                        verbose_name="Tinggi Badan",
                    ),
                ),
                (
                    "weight",
                    models.PositiveIntegerField(
                        blank=True,
                        help_text="Berat badan dalam kg",
                        null=True,
                        verbose_name="Berat Badan",
                    ),
                ),
                (
                    "phone_number",
                    models.CharField(
                        blank=True,
                        max_length=15,
                        null=True,
                        verbose_name="Nomor Telepon",
                    ),
                ),
                (
                    "mobile_number",
                    models.CharField(
                        blank=True, max_length=15, null=True, verbose_name="Nomor HP"
                    ),
                ),
                (
                    "email",
                    models.EmailField(
                        blank=True, max_length=254, null=True, verbose_name="Email"
                    ),
                ),
                (
                    "rt_number",
                    models.CharField(
                        blank=True, max_length=3, null=True, verbose_name="Nomor RT"
                    ),
                ),
                (
                    "rw_number",
                    models.CharField(
                        blank=True, max_length=3, null=True, verbose_name="Nomor RW"
                    ),
                ),
                (
                    "house_number",
                    models.CharField(
                        blank=True, max_length=10, null=True, verbose_name="Nomor Rumah"
                    ),
                ),
                ("address", models.TextField(verbose_name="Alamat Lengkap")),
                (
                    "postal_code",
                    models.CharField(
                        blank=True, max_length=5, null=True, verbose_name="Kode Pos"
                    ),
                ),
                (
                    "citizenship",
                    models.CharField(
                        choices=[("WNI", "WNI"), ("WNA", "WNA")],
                        default="WNI",
                        max_length=3,
                        verbose_name="Kewarganegaraan",
                    ),
                ),
                (
                    "passport_number",
                    models.CharField(
                        blank=True,
                        max_length=20,
                        null=True,
                        verbose_name="Nomor Paspor",
                    ),
                ),
                (
                    "passport_expiry",
                    models.DateField(
                        blank=True, null=True, verbose_name="Berlaku Hingga"
                    ),
                ),
                (
                    "emergency_contact",
                    models.CharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="Kontak Darurat",
                    ),
                ),
                (
                    "emergency_phone",
                    models.CharField(
                        blank=True,
                        max_length=15,
                        null=True,
                        verbose_name="Telepon Darurat",
                    ),
                ),
                (
                    "emergency_relationship",
                    models.CharField(
                        blank=True,
                        max_length=50,
                        null=True,
                        verbose_name="Hubungan dengan Kontak Darurat",
                    ),
                ),
                (
                    "photo",
                    models.ImageField(
                        blank=True,
                        null=True,
                        upload_to="penduduk_photos/",
                        verbose_name="Foto",
                    ),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="Aktif")),
                (
                    "is_alive",
                    models.BooleanField(default=True, verbose_name="Masih Hidup"),
                ),
                (
                    "death_date",
                    models.DateField(
                        blank=True, null=True, verbose_name="Tanggal Meninggal"
                    ),
                ),
                (
                    "death_place",
                    models.CharField(
                        blank=True,
                        max_length=100,
                        null=True,
                        verbose_name="Tempat Meninggal",
                    ),
                ),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="created_penduduk",
                        to=settings.AUTH_USER_MODEL,
                        verbose_name="Dibuat Oleh",
                    ),
                ),
                (
                    "dusun",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="residents",
                        to="references.dusun",
                        verbose_name="Dusun",
                    ),
                ),
                (
                    "family_head",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="family_members",
                        to="references.penduduk",
                        verbose_name="Kepala Keluarga",
                    ),
                ),
                (
                    "lorong",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="residents",
                        to="references.lorong",
                        verbose_name="Lorong",
                    ),
                ),
            ],
            options={
                "verbose_name": "Penduduk",
                "verbose_name_plural": "Penduduk",
                "ordering": ["name"],
            },
        ),
        migrations.CreateModel(
            name="ReferencesPageHeader",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("title", models.CharField(default="Data Referensi", max_length=200)),
                (
                    "description",
                    models.TextField(
                        blank=True,
                        default="Informasi lengkap mengenai data referensi dan kependudukan desa",
                    ),
                ),
                (
                    "background_image",
                    models.ImageField(blank=True, null=True, upload_to="page_headers/"),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
            ],
            options={
                "verbose_name": "Header Halaman Referensi",
                "verbose_name_plural": "Header Halaman Referensi",
            },
        ),
        migrations.CreateModel(
            name="ReligionReference",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("name", models.CharField(max_length=50, unique=True)),
                ("code", models.CharField(max_length=10, unique=True)),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
            ],
            options={
                "verbose_name": "Agama",
                "verbose_name_plural": "Agama",
            },
        ),
        migrations.CreateModel(
            name="RW",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("rw_number", models.CharField(max_length=3, verbose_name="Nomor RW")),
                (
                    "description",
                    models.TextField(blank=True, null=True, verbose_name="Deskripsi"),
                ),
                (
                    "population_count",
                    models.IntegerField(
                        default=0, help_text="Auto-calculated from residents"
                    ),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "dusun",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="rws",
                        to="references.dusun",
                    ),
                ),
                (
                    "ketua_rw",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="rw_led",
                        to="references.penduduk",
                        verbose_name="Ketua RW",
                    ),
                ),
            ],
            options={
                "verbose_name": "RW",
                "verbose_name_plural": "RW",
                "unique_together": {("dusun", "rw_number")},
            },
        ),
        migrations.CreateModel(
            name="RT",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("rt_number", models.CharField(max_length=3, verbose_name="Nomor RT")),
                (
                    "description",
                    models.TextField(blank=True, null=True, verbose_name="Deskripsi"),
                ),
                (
                    "population_count",
                    models.IntegerField(
                        default=0, help_text="Auto-calculated from residents"
                    ),
                ),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "ketua_rt",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="rt_led",
                        to="references.penduduk",
                        verbose_name="Ketua RT",
                    ),
                ),
                (
                    "rw",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="rts",
                        to="references.rw",
                    ),
                ),
            ],
            options={
                "verbose_name": "RT",
                "verbose_name_plural": "RT",
                "unique_together": {("rw", "rt_number")},
            },
        ),
        migrations.AddField(
            model_name="penduduk",
            name="rt",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="residents",
                to="references.rt",
                verbose_name="RT",
            ),
        ),
        migrations.AddField(
            model_name="penduduk",
            name="rw",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.CASCADE,
                related_name="residents",
                to="references.rw",
                verbose_name="RW",
            ),
        ),
        migrations.AddField(
            model_name="penduduk",
            name="updated_by",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="updated_penduduk",
                to=settings.AUTH_USER_MODEL,
                verbose_name="Diperbarui Oleh",
            ),
        ),
        migrations.CreateModel(
            name="Pelajar",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "jenjang",
                    models.CharField(
                        choices=[
                            ("SD", "SD/Sederajat"),
                            ("SMP", "SMP/Sederajat"),
                            ("SMA", "SMA/SMK/Sederajat"),
                            ("PT", "Perguruan Tinggi"),
                        ],
                        max_length=5,
                    ),
                ),
                ("sekolah", models.CharField(max_length=100)),
                ("tahun_masuk", models.IntegerField(blank=True, null=True)),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("aktif", "Aktif"),
                            ("lulus", "Lulus"),
                            ("pindah", "Pindah"),
                            ("putus", "Putus Sekolah"),
                        ],
                        default="aktif",
                        max_length=10,
                    ),
                ),
                ("keterangan", models.TextField(blank=True, null=True)),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "created_by",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="created_pelajar",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "penduduk",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="data_pelajar",
                        to="references.penduduk",
                    ),
                ),
                (
                    "updated_by",
                    models.ForeignKey(
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="updated_pelajar",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "verbose_name": "Pelajar",
                "verbose_name_plural": "Pelajar",
                "ordering": ["penduduk__name"],
            },
        ),
        migrations.CreateModel(
            name="Keluarga",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                ("nama_kepala_keluarga", models.CharField(max_length=100)),
                ("nomor_kk", models.CharField(max_length=16, unique=True)),
                ("rt", models.CharField(max_length=3)),
                ("rw", models.CharField(max_length=3)),
                ("alamat", models.TextField()),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "dusun",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="keluarga",
                        to="references.dusun",
                    ),
                ),
            ],
            options={
                "verbose_name": "Keluarga",
                "verbose_name_plural": "Keluarga",
            },
        ),
        migrations.CreateModel(
            name="Family",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "kk_number",
                    models.CharField(
                        max_length=16, unique=True, verbose_name="Nomor Kartu Keluarga"
                    ),
                ),
                (
                    "family_status",
                    models.CharField(
                        choices=[
                            ("NORMAL", "Keluarga Normal"),
                            ("MISKIN", "Keluarga Miskin"),
                            ("PRASEJAHTERA", "Keluarga Prasejahtera"),
                            ("SEJAHTERA", "Keluarga Sejahtera"),
                            ("SEJAHTERA_1", "Keluarga Sejahtera 1"),
                            ("SEJAHTERA_2", "Keluarga Sejahtera 2"),
                            ("SEJAHTERA_3", "Keluarga Sejahtera 3"),
                            ("SEJAHTERA_3_PLUS", "Keluarga Sejahtera 3+"),
                        ],
                        default="NORMAL",
                        max_length=20,
                        verbose_name="Status Keluarga",
                    ),
                ),
                (
                    "total_members",
                    models.PositiveIntegerField(
                        default=1, verbose_name="Jumlah Anggota"
                    ),
                ),
                (
                    "total_income",
                    models.DecimalField(
                        blank=True,
                        decimal_places=2,
                        help_text="Total pendapatan keluarga per bulan",
                        max_digits=15,
                        null=True,
                        verbose_name="Total Pendapatan",
                    ),
                ),
                ("address", models.TextField(verbose_name="Alamat Keluarga")),
                (
                    "rt_number",
                    models.CharField(
                        blank=True, max_length=3, null=True, verbose_name="Nomor RT"
                    ),
                ),
                (
                    "rw_number",
                    models.CharField(
                        blank=True, max_length=3, null=True, verbose_name="Nomor RW"
                    ),
                ),
                (
                    "house_number",
                    models.CharField(
                        blank=True, max_length=10, null=True, verbose_name="Nomor Rumah"
                    ),
                ),
                (
                    "postal_code",
                    models.CharField(
                        blank=True, max_length=5, null=True, verbose_name="Kode Pos"
                    ),
                ),
                (
                    "phone_number",
                    models.CharField(
                        blank=True,
                        max_length=15,
                        null=True,
                        verbose_name="Nomor Telepon",
                    ),
                ),
                ("is_active", models.BooleanField(default=True, verbose_name="Aktif")),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "dusun",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="references.dusun",
                        verbose_name="Dusun",
                    ),
                ),
                (
                    "head",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="headed_families",
                        to="references.penduduk",
                        verbose_name="Kepala Keluarga",
                    ),
                ),
                (
                    "lorong",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        to="references.lorong",
                        verbose_name="Lorong",
                    ),
                ),
            ],
            options={
                "verbose_name": "Keluarga",
                "verbose_name_plural": "Keluarga",
            },
        ),
        migrations.AddField(
            model_name="dusun",
            name="kepala_dusun",
            field=models.ForeignKey(
                blank=True,
                null=True,
                on_delete=django.db.models.deletion.SET_NULL,
                related_name="dusun_led",
                to="references.penduduk",
                verbose_name="Kepala Dusun",
            ),
        ),
        migrations.CreateModel(
            name="DisabilitasData",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True,
                        primary_key=True,
                        serialize=False,
                        verbose_name="ID",
                    ),
                ),
                (
                    "severity",
                    models.CharField(
                        choices=[
                            ("RINGAN", "Ringan"),
                            ("SEDANG", "Sedang"),
                            ("BERAT", "Berat"),
                        ],
                        max_length=10,
                    ),
                ),
                ("description", models.TextField(blank=True, null=True)),
                ("diagnosis_date", models.DateField(blank=True, null=True)),
                ("needs_assistance", models.BooleanField(default=False)),
                ("is_active", models.BooleanField(default=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "disability_type",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="references.disabilitastype",
                    ),
                ),
                (
                    "penduduk",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="disabilities",
                        to="references.penduduk",
                    ),
                ),
            ],
            options={
                "verbose_name": "Data Disabilitas",
                "verbose_name_plural": "Data Disabilitas",
                "unique_together": {("penduduk", "disability_type")},
            },
        ),
    ]
