Список Django на основе предыдущего списка

Я пытаюсь создать динамический список вариантов. То есть, выбор меняется в зависимости от предыдущего ответа. Например, если country = ["USA", "Canada", "Mexico"], то при нажатии кнопки "США" будет создан список с 50 штатами США, state = ["Alabama", "Alaska"]. Я пытался сделать оператор if, однако, похоже, это не сработало. Я не уверен, какой вариант лучше всего подходит для этого.

class Property(models.Model):
    address = CharField(max_length = 200)
    city = CharField(max_length = 200)

    COUNTRY_LIST = [
        ("USA", "United States"),
        ("CAN", "Canada")
    ]
    country = CharField(max_length = 3, choices = COUNTRY_LIST)

    USA_STATE_LIST = [
        ("AL", "Alabama"),
        ("AK", "Alaska"),
        ("AZ", "Arizona")
    ]
    CAN_STATE_LIST = [
        ("AL", "Alberta"),
        ("BC", "British Columbia")
    ]
    state = CharField(max_length = 2, choices = ?)

Думаю, нам, возможно, придется пересмотреть вашу модель.

state

  class State(models.Model)
          name = models.CharField(max_length=100)

country

   class Country(models.Model)
          name = models.CharField(max_length=100)

и использовать это в модели свойств

class Property(models.Model):
    address = CharField(max_length = 200)
    city = CharField(max_length = 200) 
    country = models.ForeignKey(Country,on_delete=Bla)
    state = models.ForeignKey(State,on_delete=Bla)
Вернуться на верх