# Generated by Django 5.1.2 on 2025-01-26 20:36

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


class Migration(migrations.Migration):

    initial = True

    dependencies = [
        ('developer', '0003_initial'),
        ('development', '0001_initial'),
        ('geo_location', '0001_initial'),
        ('main', '0001_initial'),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.AddField(
            model_name='buildingtypetranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='building_type_translate', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='changerate',
            name='from_currency',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='from_currency', to='development.currency', verbose_name='from currency'),
        ),
        migrations.AddField(
            model_name='changerate',
            name='to_currency',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='to_currency', to='development.currency', verbose_name='to currency'),
        ),
        migrations.AddField(
            model_name='development',
            name='building_type',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.buildingtype', verbose_name='Building Type'),
        ),
        migrations.AddField(
            model_name='development',
            name='city',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='development',
            name='country',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='development',
            name='default_currency',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='development.currency', verbose_name='Default Currency'),
        ),
        migrations.AddField(
            model_name='development',
            name='developer',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='developer.developer', verbose_name='developer'),
        ),
        migrations.AddField(
            model_name='development',
            name='district',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.district', verbose_name='district'),
        ),
        migrations.AddField(
            model_name='development',
            name='location',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.location', verbose_name='location'),
        ),
        migrations.AddField(
            model_name='development',
            name='position_area',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.londonarea', verbose_name='position area'),
        ),
        migrations.AddField(
            model_name='development',
            name='postcode',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.londonzipstate', verbose_name='position area'),
        ),
        migrations.AddField(
            model_name='development',
            name='stations',
            field=models.ManyToManyField(blank=True, related_name='station_developments', to='geo_location.publicfacility', verbose_name='stations'),
        ),
        migrations.AddField(
            model_name='development',
            name='zone',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.londonzone', verbose_name='zone'),
        ),
        migrations.AddField(
            model_name='autoscorerank',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='auto_scores', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='attachment',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='attachments', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='area',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='geo_location.londonarea', verbose_name='areas'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='city',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_list', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_list', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_list', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='zone',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='geo_location.londonzone', verbose_name='zones'),
        ),
        migrations.AddField(
            model_name='developmentoffer',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='offers', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmentoffertranslate',
            name='development_offer',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.developmentoffer', verbose_name='Development Offer'),
        ),
        migrations.AddField(
            model_name='developmentoffertranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_offer_translate', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='developmentpublicfacility',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='public_facilities', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmentpublicfacility',
            name='public_facility',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='developments', to='geo_location.publicfacility', verbose_name='Public Facilities'),
        ),
        migrations.AddField(
            model_name='developmentreview',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmentreview',
            name='user',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='development_reviews', to=settings.AUTH_USER_MODEL, verbose_name='user'),
        ),
        migrations.AddField(
            model_name='developmenttranslate',
            name='developer',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='development_translate', to='developer.developertranslate', verbose_name='Developer'),
        ),
        migrations.AddField(
            model_name='developmenttranslate',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmenttranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_translate', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='development_translate',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.developmenttranslate', verbose_name='development translate'),
        ),
        migrations.AddField(
            model_name='faq',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='faqs', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='faq',
            name='category',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='faqs', to='development.faqcategory', verbose_name='Category'),
        ),
        migrations.AddField(
            model_name='faqcategorytranslate',
            name='category',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.faqcategory', verbose_name='Flat'),
        ),
        migrations.AddField(
            model_name='faqcategorytranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='faq_category_translate', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='faqformula',
            name='Language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='faq_formula', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='faqformula',
            name='category',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='formula', to='development.faqcategory', verbose_name='Category'),
        ),
        migrations.AddField(
            model_name='faqtranslate',
            name='faq',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.faq'),
        ),
        migrations.AddField(
            model_name='faqtranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_faq_translations', to='main.language'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='features',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.feature', verbose_name='features'),
        ),
        migrations.AddField(
            model_name='featuretranslate',
            name='feature',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.feature', verbose_name='feature'),
        ),
        migrations.AddField(
            model_name='featuretranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='feature_translate', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='filterseotext',
            name='city',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_seo_text', to='geo_location.city', verbose_name='City'),
        ),
        migrations.AddField(
            model_name='filterseotext',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_seo_text', to='geo_location.country', verbose_name='Country'),
        ),
        migrations.AddField(
            model_name='filterseotexttranslate',
            name='filter_seo_text',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.filterseotext', verbose_name='Filter Seo Text'),
        ),
        migrations.AddField(
            model_name='filterseotexttranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_filter_seo_text_translate', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='flat',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='flats', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='developmentreview',
            name='flat',
            field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='development.flat', verbose_name='Flat'),
        ),
        migrations.AddField(
            model_name='flatpricehistory',
            name='flat',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='price_history', to='development.flat', verbose_name='Flat'),
        ),
        migrations.AddField(
            model_name='flattranslate',
            name='flat',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.flat', verbose_name='Flat'),
        ),
        migrations.AddField(
            model_name='flattranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='flat_translate', to='main.language', verbose_name='Language'),
        ),
        migrations.AddField(
            model_name='keyfeature',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='key_features', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='keyfeature',
            name='feature',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_features', to='development.feature', verbose_name='Feature'),
        ),
        migrations.AddField(
            model_name='onharea',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_area', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='onharea',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_area', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='development',
            name='onh_area',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.onharea', verbose_name='Area'),
        ),
        migrations.AddField(
            model_name='onhdistrict',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_districts', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='onhdistrict',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_districts', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='districts',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.onhdistrict', verbose_name='districts'),
        ),
        migrations.AddField(
            model_name='development',
            name='onh_district',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.onhdistrict', verbose_name='District'),
        ),
        migrations.AddField(
            model_name='onhpostcode',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_postcodes', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='onhpostcode',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_postcodes', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='postcodes',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.onhpostcode', verbose_name='postcodes'),
        ),
        migrations.AddField(
            model_name='development',
            name='onh_postcode',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.onhpostcode', verbose_name='Postcode'),
        ),
        migrations.AddField(
            model_name='onhstation',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_stations', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='onhstation',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_stations', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='stations',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.onhstation', verbose_name='stations'),
        ),
        migrations.AddField(
            model_name='development',
            name='onh_station',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.onhstation', verbose_name='Station'),
        ),
        migrations.AddField(
            model_name='onhzone',
            name='city',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_zone', to='geo_location.city', verbose_name='city'),
        ),
        migrations.AddField(
            model_name='onhzone',
            name='country',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='onh_zone', to='geo_location.country', verbose_name='country'),
        ),
        migrations.AddField(
            model_name='development',
            name='onh_zone',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.onhzone', verbose_name='Zone'),
        ),
        migrations.AddField(
            model_name='developmentfilterlist',
            name='payment_options',
            field=models.ManyToManyField(blank=True, related_name='development_filter_list', to='development.paymentoption', verbose_name='payment options'),
        ),
        migrations.AddField(
            model_name='development',
            name='payment_option',
            field=models.ManyToManyField(blank=True, related_name='developments', to='development.paymentoption', verbose_name='Payment Option'),
        ),
        migrations.AddField(
            model_name='paymentoptiontranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payment_option_translate', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='paymentoptiontranslate',
            name='payment_option',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.paymentoption', verbose_name='payment option'),
        ),
        migrations.AddField(
            model_name='paymentplan',
            name='development',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payment_plan', to='development.development', verbose_name='Development'),
        ),
        migrations.AddField(
            model_name='paymentplantranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='payment_plan_translate', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='paymentplantranslate',
            name='payment_plan',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.paymentplan', verbose_name='payment plan'),
        ),
        migrations.AddField(
            model_name='autoscorerank',
            name='element',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='development_auto_scores', to='development.rankelement', verbose_name='rank element'),
        ),
        migrations.AddField(
            model_name='rankelementtranslate',
            name='language',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='rank_element_translate', to='main.language', verbose_name='language'),
        ),
        migrations.AddField(
            model_name='rankelementtranslate',
            name='rank_element',
            field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='translates', to='development.rankelement', verbose_name='rank element'),
        ),
        migrations.AddConstraint(
            model_name='buildingtypetranslate',
            constraint=models.UniqueConstraint(fields=('language', 'building_type'), name='repeated_language_building_type_translate'),
        ),
        migrations.AddConstraint(
            model_name='attachment',
            constraint=models.UniqueConstraint(fields=('development', 'file_name', 'category'), name='repeated_file_name_development_attachment'),
        ),
        migrations.AddConstraint(
            model_name='developmentoffertranslate',
            constraint=models.UniqueConstraint(fields=('language', 'development_offer'), name='repeated_language_development_offer_translate'),
        ),
        migrations.AddConstraint(
            model_name='developmentpublicfacility',
            constraint=models.UniqueConstraint(fields=('public_facility', 'development'), name='repeated_public_facility_development'),
        ),
        migrations.AddConstraint(
            model_name='developmenttranslate',
            constraint=models.UniqueConstraint(fields=('language', 'development'), name='repeated_language_development_translate'),
        ),
        migrations.AddConstraint(
            model_name='faq',
            constraint=models.UniqueConstraint(fields=('development', 'question', 'category'), name='repeated_development_faq_question'),
        ),
        migrations.AddConstraint(
            model_name='faqcategorytranslate',
            constraint=models.UniqueConstraint(fields=('language', 'category'), name='repeated_development_faq_category_language_translate'),
        ),
        migrations.AddConstraint(
            model_name='faqtranslate',
            constraint=models.UniqueConstraint(fields=('faq', 'language'), name='repeated_development_faq_language_translate'),
        ),
        migrations.AddConstraint(
            model_name='featuretranslate',
            constraint=models.UniqueConstraint(fields=('language', 'feature'), name='repeated_language_feature_translate'),
        ),
        migrations.AlterUniqueTogether(
            name='filterseotext',
            unique_together={('country', 'city', 'first_filter', 'first_filter_type', 'second_filter', 'second_filter_type')},
        ),
        migrations.AlterUniqueTogether(
            name='filterseotexttranslate',
            unique_together={('language', 'filter_seo_text')},
        ),
        migrations.AddConstraint(
            model_name='flattranslate',
            constraint=models.UniqueConstraint(fields=('language', 'flat'), name='repeated_language_flat_translate'),
        ),
        migrations.AddConstraint(
            model_name='keyfeature',
            constraint=models.UniqueConstraint(fields=('feature', 'development'), name='repeated_feature_development_key_feature'),
        ),
        migrations.AddIndex(
            model_name='onharea',
            index=models.Index(fields=['slug', 'name'], name='development_slug_613d21_idx'),
        ),
        migrations.AddIndex(
            model_name='onhdistrict',
            index=models.Index(fields=['slug', 'name'], name='development_slug_2a15c2_idx'),
        ),
        migrations.AddIndex(
            model_name='onhpostcode',
            index=models.Index(fields=['slug', 'name'], name='development_slug_4b10f3_idx'),
        ),
        migrations.AddIndex(
            model_name='onhstation',
            index=models.Index(fields=['slug', 'name', 'icon'], name='development_slug_222777_idx'),
        ),
        migrations.AddIndex(
            model_name='onhzone',
            index=models.Index(fields=['slug', 'name'], name='development_slug_b1a2cb_idx'),
        ),
        migrations.AddIndex(
            model_name='development',
            index=models.Index(fields=['country', 'is_active', 'is_deleted'], name='development_country_2ebcac_idx'),
        ),
        migrations.AddIndex(
            model_name='development',
            index=models.Index(fields=['city', 'is_active', 'is_deleted'], name='development_city_id_e9f9c0_idx'),
        ),
        migrations.AddIndex(
            model_name='development',
            index=models.Index(fields=['is_featured', 'is_active', 'is_deleted'], name='development_is_feat_118994_idx'),
        ),
        migrations.AddConstraint(
            model_name='paymentoptiontranslate',
            constraint=models.UniqueConstraint(fields=('language', 'payment_option'), name='repeated_language_payment_option_translate'),
        ),
        migrations.AddConstraint(
            model_name='paymentplan',
            constraint=models.UniqueConstraint(fields=('development', 'slug'), name='repeated_slug_development_payment_plan'),
        ),
        migrations.AddConstraint(
            model_name='paymentplantranslate',
            constraint=models.UniqueConstraint(fields=('language', 'payment_plan'), name='repeated_language_payment_plan_translate'),
        ),
        migrations.AddConstraint(
            model_name='rankelementtranslate',
            constraint=models.UniqueConstraint(fields=('language', 'rank_element'), name='repeated_language_rank_element_translate'),
        ),
    ]
