Ты прочитал (а) the documentation? Это довольно просто. В зависимости от того, как вы создали свой континент/страну. Я бы рекомендовал что-то вроде django-cities-light, которое предоставляет вам таблицы, заполненные странами/регионами. Я не думаю, что это континенты.
Если вы не хотите, чтобы сделать это, вам нужно создать модель страны, которая имеет столбец Continent ID, например:
Continent(models.Model):
name = models.CharField()
Country(models.Model):
name = models.CharField()
continent = models.ForeignKey(Continent)
Тогда в модели Расположение установите поля таким образом:
from smart_selects.db_fields import ChainedForeignKey
Location(models.Model):
newcontinent = models.ForeignKey(Continent)
newcountry = ChainedForeignKey(
Country, # the model where you're populating your countries from
chained_field="newcontinent", # the field on your own model that this field links to
chained_model_field="continent", # the field on Country that corresponds to newcontinent
show_all=False, # only shows the countries that correspond to the selected continent in newcontinent
)
Из документов:
Этот пример asumes, что страна Модель имеет континент = ForeignKey (Continent) поле ,
Прикованное поле является полем на той же модели, что и поле должно быть прикованным. Прикованное поле модели - это поле цепной модели, которое соответствует модели, связанной также цепным полем.
Надеюсь, что имеет смысл.