# Generated by Django 4.2.16 on 2025-10-28 20:33

from django.db import migrations, models
import django.db.models.deletion


class Migration(migrations.Migration):

    initial = True

    dependencies = [
    ]

    operations = [
        migrations.CreateModel(
            name='District',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100)),
            ],
            options={
                'ordering': ['state__name', 'name'],
            },
        ),
        migrations.CreateModel(
            name='Location',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=150)),
                ('pincode', models.CharField(max_length=6)),
                ('district', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='locations', to='geo.district')),
            ],
            options={
                'ordering': ['pincode', 'name'],
            },
        ),
        migrations.CreateModel(
            name='State',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('name', models.CharField(max_length=100, unique=True)),
                ('state_type', models.CharField(blank=True, max_length=10, null=True)),
            ],
            options={
                'ordering': ['name'],
            },
        ),
        migrations.CreateModel(
            name='LocationPart',
            fields=[
                ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
                ('nearby_location', models.CharField(max_length=150)),
                ('pincode', models.CharField(max_length=6)),
                ('base_location', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='nearby_parts', to='geo.location')),
                ('district', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='location_parts', to='geo.district')),
                ('state', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='location_parts', to='geo.state')),
            ],
            options={
                'ordering': ['base_location__pincode', 'nearby_location'],
            },
        ),
        migrations.AddField(
            model_name='location',
            name='state',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='locations', to='geo.state'),
        ),
        migrations.AddField(
            model_name='district',
            name='state',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='districts', to='geo.state'),
        ),
        migrations.AlterUniqueTogether(
            name='location',
            unique_together={('name', 'pincode')},
        ),
        migrations.AlterUniqueTogether(
            name='district',
            unique_together={('name', 'state')},
        ),
    ]
