У меня есть модель Django, например:
class hotel(models.Model):
name = models.CharField(max_length=60)
city = models.ForeignKey('city', on_delete=models.DO_NOTHING)
state = models.ForeignKey('state', on_delete=models.DO_NOTHING)
country = models.ForeignKey('country', on_delete=models.DO_NOTHING)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "hotels"
class city(models.Model):
name = models.CharField(max_length=60)
state = models.ForeignKey('state', on_delete=models.DO_NOTHING)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "cities"
class state(models.Model):
name = models.CharField(max_length=60)
country = models.ForeignKey('country', on_delete=models.DO_NOTHING)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "states"
class country(models.Model):
name = models.CharField(max_length=60)
code = models.CharField(max_length=160)
def __str__(self):
return self.name
class Meta:
verbose_name_plural = "countries"
И ModelForm нравится:
class Hotel(ModelForm):
class Meta:
model = hotel
fields = '__all__'
[EDIT] При создании объекта формы из Hotel ModelForm Django автоматически заполняет значения полей внешнего ключа. Я хочу остановить это.
Например:
form = Hotel()
(Django автоматически заполняет значения города, штата и страны)
Я хочу, чтобы мой шаблон Django возвращал все значения страны в раскрывающемся списке, но не для раскрывающихся списков штатов и городов (поэтому я хочу, чтобы раскрывающиеся списки штатов и городов оставались пустыми в шаблоне Django). Как я могу это сделать?
PS. Целью этого является сначала загрузить значения страны, и в соответствии с выбором страны пользователем я буду загружать штат, а затем города соответственно.
fields='__all__'
укажите поля, в которые вы хотите, чтобы значения загружались из БД. Простой пример будет похож на тот, который указан в простой лучше сложного.com/tutorial/2018/01/29/ - person JRajan   schedule 30.12.2019