# Generated by Django 5.2.14 on 2026-07-07 02:14

import apps.core.storage.paths
import django.db.models.deletion
import django.utils.timezone
from django.conf import settings
from django.db import migrations, models


class Migration(migrations.Migration):

    dependencies = [
        ("rims_grants", "0051_beneficiarygroup_periodicnarrativereport_and_more"),
        migrations.swappable_dependency(settings.AUTH_USER_MODEL),
    ]

    operations = [
        migrations.CreateModel(
            name="ApplicationCollaborator",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("full_name", models.CharField(max_length=200)),
                ("role", models.CharField(blank=True, max_length=200)),
                (
                    "cv",
                    models.FileField(
                        blank=True, null=True, upload_to=apps.core.storage.paths.upload_to_grants
                    ),
                ),
                (
                    "application",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="collaborators",
                        to="rims_grants.application",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="ApplicationPartner",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("organization_name", models.CharField(max_length=200)),
                ("website", models.URLField(blank=True)),
                ("contact_person", models.CharField(max_length=200)),
                ("email", models.EmailField(max_length=254)),
                ("phone", models.CharField(max_length=20)),
                ("address", models.TextField()),
                ("area_of_expertise", models.CharField(max_length=200)),
                (
                    "application",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="partners",
                        to="rims_grants.application",
                    ),
                ),
            ],
        ),
        migrations.CreateModel(
            name="AwardComment",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("comment", models.TextField()),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                (
                    "award",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="comments",
                        to="rims_grants.award",
                    ),
                ),
                (
                    "created_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="award_comments",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "ordering": ["created_at"],
            },
        ),
        migrations.CreateModel(
            name="ChallengeApplicationProfile",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "innovation_stage",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("ideation", "Ideation"),
                            ("prototype", "Prototype"),
                            ("pilot", "Pilot"),
                            ("scale", "Scale"),
                        ],
                        help_text="Applicant's self-assessed stage — compare against the call's targeted stage.",
                        max_length=24,
                    ),
                ),
                ("problem_statement", models.TextField(blank=True)),
                ("proposed_solution", models.TextField(blank=True)),
                ("target_beneficiaries", models.TextField(blank=True)),
                ("team_size", models.PositiveSmallIntegerField(blank=True, null=True)),
                (
                    "prototype_status",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("concept", "Concept only"),
                            ("working_prototype", "Working prototype"),
                            ("field_tested", "Field tested"),
                            ("market_ready", "Market ready"),
                        ],
                        max_length=24,
                    ),
                ),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "application",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="challenge_profile",
                        to="rims_grants.application",
                    ),
                ),
            ],
            options={
                "verbose_name": "Challenge application profile",
                "verbose_name_plural": "Challenge application profiles",
            },
        ),
        migrations.CreateModel(
            name="HomeValidationEnumeratorDetail",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("disability", models.BooleanField(blank=True, null=True)),
                ("disability_type", models.CharField(blank=True, max_length=200)),
                ("disability_cause", models.CharField(blank=True, max_length=200)),
                ("school_name", models.CharField(blank=True, max_length=200)),
                (
                    "school_fees",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=12, null=True),
                ),
                ("fees_installments", models.CharField(blank=True, max_length=32)),
                ("left_school_due_to_fees", models.BooleanField(blank=True, null=True)),
                (
                    "final_gpa",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=6, null=True),
                ),
                ("ever_received_scholarship", models.BooleanField(blank=True, null=True)),
                ("scholarship_funder", models.CharField(blank=True, max_length=100)),
                (
                    "psychometric_test_completed",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("easily_completed", "Easily completed"),
                            ("needed_explanation", "Needed explanation"),
                            ("struggled", "Struggled"),
                            ("not_completed", "Not completed"),
                        ],
                        max_length=24,
                    ),
                ),
                (
                    "leadership_potential",
                    models.PositiveSmallIntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "overall_vulnerability",
                    models.PositiveSmallIntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "information_accuracy_confirmed",
                    models.PositiveSmallIntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                ("general_notes", models.TextField(blank=True)),
                (
                    "record",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="enumerator_detail",
                        to="rims_grants.homevalidationrecord",
                    ),
                ),
            ],
            options={
                "verbose_name": "Home validation — enumerator detail",
                "verbose_name_plural": "Home validation — enumerator details",
            },
        ),
        migrations.CreateModel(
            name="HomeValidationParentDetail",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("parent_full_name", models.CharField(blank=True, max_length=200)),
                ("relationship_to_applicant", models.CharField(blank=True, max_length=100)),
                (
                    "land_acreage",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True),
                ),
                (
                    "land_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                ("number_of_rooms", models.PositiveSmallIntegerField(blank=True, null=True)),
                (
                    "residential_house_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                (
                    "cultivated_land",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=10, null=True),
                ),
                (
                    "cultivated_land_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                (
                    "livestock_count",
                    models.PositiveSmallIntegerField(blank=True, default=0, null=True),
                ),
                (
                    "livestock_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                (
                    "goats_and_sheep",
                    models.PositiveSmallIntegerField(blank=True, default=0, null=True),
                ),
                (
                    "goats_and_sheep_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                ("poultry", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                (
                    "poultry_value",
                    models.DecimalField(blank=True, decimal_places=2, max_digits=14, null=True),
                ),
                ("radios", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                ("televisions", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                (
                    "mobile_phones",
                    models.PositiveSmallIntegerField(blank=True, default=0, null=True),
                ),
                ("bicycles", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                ("motorcycles", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                ("cars", models.PositiveSmallIntegerField(blank=True, default=0, null=True)),
                ("cooking_energy_source", models.CharField(blank=True, max_length=100)),
                ("source_of_light_energy", models.CharField(blank=True, max_length=100)),
                ("household_members", models.PositiveSmallIntegerField(blank=True, null=True)),
                ("school_going_children", models.PositiveSmallIntegerField(blank=True, null=True)),
                ("children_below_16", models.PositiveSmallIntegerField(blank=True, null=True)),
                (
                    "vulnerability_score",
                    models.PositiveSmallIntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "truthfulness_score",
                    models.PositiveSmallIntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                ("comment", models.TextField(blank=True)),
                (
                    "record",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="parent_detail",
                        to="rims_grants.homevalidationrecord",
                    ),
                ),
            ],
            options={
                "verbose_name": "Home validation — parent detail",
                "verbose_name_plural": "Home validation — parent details",
            },
        ),
        migrations.CreateModel(
            name="PsychometricAssessment",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("surname", models.CharField(blank=True, max_length=100)),
                ("other_names", models.CharField(blank=True, max_length=100)),
                ("gender", models.CharField(blank=True, max_length=16)),
                ("age", models.PositiveSmallIntegerField(blank=True, null=True)),
                ("university", models.CharField(blank=True, max_length=255)),
                ("course", models.CharField(blank=True, max_length=255)),
                (
                    "to_be_the_best",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Like Me At All"),
                            (1, "Somewhat Like Me"),
                            (2, "More Like Me"),
                            (3, "Extremely Like Me"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "achieved_goal_that_took_years",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Like Me At All"),
                            (1, "Somewhat Like Me"),
                            (2, "More Like Me"),
                            (3, "Extremely Like Me"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "being_thankful",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Like Me At All"),
                            (1, "Somewhat Like Me"),
                            (2, "More Like Me"),
                            (3, "Extremely Like Me"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "finsh_whatever",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Like Me At All"),
                            (1, "Somewhat Like Me"),
                            (2, "More Like Me"),
                            (3, "Extremely Like Me"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "lasting_importance_achievement",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Like Me At All"),
                            (1, "Somewhat Like Me"),
                            (2, "More Like Me"),
                            (3, "Extremely Like Me"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "earn_good_money_job",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Important At All"),
                            (1, "Somewhat Important"),
                            (2, "Very Important"),
                            (3, "Extremely Important"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "creativity_job",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Important At All"),
                            (1, "Somewhat Important"),
                            (2, "Very Important"),
                            (3, "Extremely Important"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "positive_contribution",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Important At All"),
                            (1, "Somewhat Important"),
                            (2, "Very Important"),
                            (3, "Extremely Important"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "visible_payoff",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Important At All"),
                            (1, "Somewhat Important"),
                            (2, "Very Important"),
                            (3, "Extremely Important"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "help_others_job",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not Important At All"),
                            (1, "Somewhat Important"),
                            (2, "Very Important"),
                            (3, "Extremely Important"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "parent_academic_expections",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not True At All"),
                            (1, "Somewhat True"),
                            (2, "Very True"),
                            (3, "Extremely True"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "no_parent_pressure",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not True At All"),
                            (1, "Somewhat True"),
                            (2, "Very True"),
                            (3, "Extremely True"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "parent_career_expections",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not True At All"),
                            (1, "Somewhat True"),
                            (2, "Very True"),
                            (3, "Extremely True"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "similar_career_as_parent",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not True At All"),
                            (1, "Somewhat True"),
                            (2, "Very True"),
                            (3, "Extremely True"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "parent_different_expections",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Not True At All"),
                            (1, "Somewhat True"),
                            (2, "Very True"),
                            (3, "Extremely True"),
                        ],
                        null=True,
                    ),
                ),
                ("exact_job_title", models.CharField(blank=True, max_length=100)),
                ("reason_for_job_title", models.TextField(blank=True, max_length=500)),
                (
                    "seek_challenging_opportunities",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "talk_about_future_trends",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "develop_cooperative_relationships",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "lead_by_example",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "commend_good_work",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "encourage_innovation",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "envision_inspiring_future",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "embrace_perspectives",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "uphold_standards",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "express_confidence",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "seek_innovation",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "inspire_vision",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "show_respect",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "honor_commitments",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "reward_contributions",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "ask_solutions",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "promote_collaboration",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "support_autonomy",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "clarify_leadership",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "celebrate_dedication",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "embrace_risk",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "stay_optimistic",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "encourage_autonomy",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "set_clear_goals",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "celebrate_success",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "take_initiative",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "speak_with_purpose",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "foster_growth",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "progress_steadily",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "value_contributions",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (0, "Almost Never"),
                            (1, "Rarely"),
                            (2, "Seldom"),
                            (3, "Once in a While"),
                            (4, "Occasionally"),
                            (5, "Sometimes"),
                            (6, "Fairly"),
                            (7, "Fairly Often"),
                            (8, "Usually"),
                            (9, "Very Frequently"),
                            (10, "Almost Always"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "entrepreneurship_drives_profit",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "entrepreneurs_capitalize_on_opportunities",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "entrepreneurs_fear_uncertainty_and_failure",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "entrepreneurs_need_support_to_succeed",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "entrepreneurs_value_client_feedback",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_is_business",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agribusiness_creates_jobs",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_offers_youth_best_opportunity",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agricultural_entrepreneurship_is_profitable",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_suits_those_from_poor_backgrounds",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agricultural_is_noble",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_drives_community_development",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "farming_yields_lower_profits",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_provides_sustainable_income",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agribusiness_opportunity",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "parental_support_ag_science",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "can_learn_something_else",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "first_choice_program_agriculture",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_science_future_benefit",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "interested_in_profitable_agriculture",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "agriculture_offers_career_opportunities",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "not_interested_in_agriculture_career",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "see_self_in_agriculture_career",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "parents_disapprove_agriculture_career",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "community_impact",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (-1, "Strongly Disagree"),
                            (0, "Disagree"),
                            (1, "Neither agree nor disagree"),
                            (2, "Agree"),
                            (3, "Strongly Agree"),
                        ],
                        null=True,
                    ),
                ),
                (
                    "open_expression",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "speaks_up",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "takes_charge",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "listens_to_others",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "lets_others_lead",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "is_assertive",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "is_competitive",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "persuasive",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "blends_in",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_family",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_housing",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_family_finances",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_community_involvement",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_future_prospects",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "satisfied_with_current_life",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "action_oriented",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "adaptable",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "ambitious",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "approachable",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "creative",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "competitive",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "confident",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "empathetic",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "flexible",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "focused",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "forward_thinking",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "honest",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "materialistic",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "open_minded",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "optimistic",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "pragmatic",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "patient",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "easily_gives_up",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "trusting",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                (
                    "responsible",
                    models.IntegerField(
                        blank=True,
                        choices=[
                            (1, 1),
                            (2, 2),
                            (3, 3),
                            (4, 4),
                            (5, 5),
                            (6, 6),
                            (7, 7),
                            (8, 8),
                            (9, 9),
                            (10, 10),
                        ],
                        null=True,
                    ),
                ),
                ("top_three_leader_traits", models.TextField(blank=True, max_length=200)),
                ("top_three_entrepreneur_traits", models.TextField(blank=True, max_length=100)),
                ("top_three_personality_traits", models.TextField(blank=True, max_length=100)),
                ("submitted_at", models.DateTimeField(blank=True, null=True)),
                ("created_at", models.DateTimeField(auto_now_add=True)),
                ("updated_at", models.DateTimeField(auto_now=True)),
                (
                    "application",
                    models.OneToOneField(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="psychometric_assessment",
                        to="rims_grants.application",
                    ),
                ),
            ],
            options={
                "verbose_name": "Psychometric assessment",
                "verbose_name_plural": "Psychometric assessments",
            },
        ),
        migrations.CreateModel(
            name="AwardStudentMembership",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "study_year",
                    models.CharField(
                        choices=[
                            ("first", "First"),
                            ("second", "Second"),
                            ("third", "Third"),
                            ("fourth", "Fourth"),
                            ("fifth", "Fifth"),
                            ("sixth", "Sixth"),
                            ("seventh", "Seventh"),
                        ],
                        default="first",
                        max_length=16,
                    ),
                ),
                (
                    "support_type",
                    models.CharField(
                        choices=[
                            ("research_only", "Research only"),
                            ("research_and_tuition", "Research and tuition"),
                            ("tuition_only", "Tuition only"),
                        ],
                        default="research_and_tuition",
                        max_length=24,
                    ),
                ),
                ("enrollment_date", models.DateField(default=django.utils.timezone.now)),
                (
                    "award",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="student_memberships",
                        to="rims_grants.award",
                    ),
                ),
                (
                    "student",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="award_student_memberships",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "constraints": [
                    models.UniqueConstraint(
                        fields=("award", "student"), name="uniq_award_student_membership"
                    )
                ],
            },
        ),
        migrations.CreateModel(
            name="ChallengeMilestoneReport",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("period_label", models.CharField(help_text="e.g. 'Milestone 2'", max_length=64)),
                ("innovation_milestone_reached", models.CharField(blank=True, max_length=255)),
                (
                    "prototype_status",
                    models.CharField(
                        blank=True,
                        choices=[
                            ("concept", "Concept only"),
                            ("working_prototype", "Working prototype"),
                            ("field_tested", "Field tested"),
                            ("market_ready", "Market ready"),
                        ],
                        max_length=24,
                    ),
                ),
                (
                    "evidence_upload",
                    models.FileField(
                        blank=True, null=True, upload_to=apps.core.storage.paths.upload_to_grants
                    ),
                ),
                ("next_steps", models.TextField(blank=True)),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("submitted", "Submitted"),
                            ("accepted", "Accepted"),
                            ("revision_required", "Revision required"),
                        ],
                        default="submitted",
                        max_length=24,
                    ),
                ),
                ("submitted_at", models.DateTimeField(auto_now_add=True)),
                ("reviewed_at", models.DateTimeField(blank=True, null=True)),
                ("review_comment", models.TextField(blank=True)),
                (
                    "award",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="challenge_milestone_reports",
                        to="rims_grants.award",
                    ),
                ),
                (
                    "reviewed_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="challenge_milestone_reports_reviewed",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "submitted_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="challenge_milestone_reports_submitted",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "ordering": ["-submitted_at", "-pk"],
                "constraints": [
                    models.UniqueConstraint(
                        fields=("award", "period_label"),
                        name="uniq_challenge_milestone_per_award_period",
                    )
                ],
            },
        ),
        migrations.CreateModel(
            name="FellowshipProgressReport",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                (
                    "period_label",
                    models.CharField(help_text="e.g. 'Month 3 of placement'", max_length=64),
                ),
                ("host_institution_feedback", models.TextField(blank=True)),
                ("activities_completed", models.TextField(blank=True)),
                ("skills_gained", models.TextField(blank=True)),
                ("challenges_faced", models.TextField(blank=True)),
                ("supervisor_signoff_by", models.CharField(blank=True, max_length=255)),
                ("supervisor_signoff_at", models.DateTimeField(blank=True, null=True)),
                (
                    "status",
                    models.CharField(
                        choices=[
                            ("submitted", "Submitted"),
                            ("accepted", "Accepted"),
                            ("revision_required", "Revision required"),
                        ],
                        default="submitted",
                        max_length=24,
                    ),
                ),
                ("submitted_at", models.DateTimeField(auto_now_add=True)),
                ("reviewed_at", models.DateTimeField(blank=True, null=True)),
                ("review_comment", models.TextField(blank=True)),
                (
                    "award",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="fellowship_progress_reports",
                        to="rims_grants.award",
                    ),
                ),
                (
                    "reviewed_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="fellowship_progress_reports_reviewed",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
                (
                    "submitted_by",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="fellowship_progress_reports_submitted",
                        to=settings.AUTH_USER_MODEL,
                    ),
                ),
            ],
            options={
                "ordering": ["-submitted_at", "-pk"],
                "constraints": [
                    models.UniqueConstraint(
                        fields=("award", "period_label"),
                        name="uniq_fellowship_progress_per_award_period",
                    )
                ],
            },
        ),
        migrations.CreateModel(
            name="PsychometricAssessmentAttempt",
            fields=[
                (
                    "id",
                    models.BigAutoField(
                        auto_created=True, primary_key=True, serialize=False, verbose_name="ID"
                    ),
                ),
                ("attempt_number", models.PositiveSmallIntegerField()),
                ("started_at", models.DateTimeField(auto_now_add=True)),
                ("completed_at", models.DateTimeField(blank=True, null=True)),
                (
                    "assessment",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="attempts",
                        to="rims_grants.psychometricassessment",
                    ),
                ),
            ],
            options={
                "ordering": ["attempt_number"],
                "constraints": [
                    models.UniqueConstraint(
                        fields=("assessment", "attempt_number"),
                        name="uniq_psychometric_attempt_number",
                    )
                ],
            },
        ),
    ]
