Как отфильтровать значение, выбранное в форме модели Django, на основе определенного условия данных?

Добрый день!

У меня есть таблица модели, чтобы добавить данные в эту модель. [Гражданин_2]

Я хочу, чтобы пользователи сначала вводили страну проживания, это как простая форма с одним полем.

А затем форма из двух полей - где предлагается выбрать страну проживания из уже введенного значения в поле (имя_страны). Например, у меня пользователи добавили туда три страны

Затем они добавляют города - для соответствующих стран.

В поле выпадающей формы выберите страну и запишите туда свой город. И отправьте данные в таблицу модели. Необходимо, чтобы данные были сохранены таким образом, чтобы город соответствовал той стране, в которую пользователь записал его в форме.

Затем эти данные используются в форме для заполнения данных. По стране и соответствующему ей городу в главной форме.

Как сделать в виде модели [Гражданин_2] , был выбран город соответствующей страны. Из данных, ранее заполненных пользователями?

Любая информация или помощь очень спасет меня, пожалуйста.

Citizen_2

class Country(models.Model):
    name_country = models.CharField(max_length=150, db_index=True)

    def __str__(self):
        return self.name_country


class City(models.Model):
    name_city = models.CharField(max_length=150, db_index=True)

    def __str__(self):
        return self.name_city


class Citizen_1(models.Model):
    name_country = models.ForeignKey(Country, on_delete=models.CASCADE)
    name_city = models.CharField(max_length=150, db_index=True)

    def __str__(self):
        return self.name_country, self.name_city


class Citizen_2(models.Model):
    name_country = models.ForeignKey(Country, on_delete=models.CASCADE)
    name_city = models.ForeignKey(City, on_delete=models.CASCADE)
    birthday = models.DateField()
    profession = models.CharField(max_length=150)
    hobby = models.CharField(max_length=150)
Вернуться на верх