Я думаю, что вы ищете forms.ModelChoiceField
.
Он используется следующим образом:
hotel = forms.ModelChoiceField(
queryset=Hotel.objects.all() # or whatever queryset you want to use
# Rest of the configuration
)
Если я не ошибаюсь, он создаст тег Html Select
, имеющий параметры с pk
каждого Hotel
объекта в качестве значения. Чтобы указать внутренний текст каждой опции, вы должны определить следующий метод для класса Hotel
:
def __str__(self):
return self.name # or whatever needed
Если вы действительно искали это, я должен отговорить вас от его использования если вы создаете сайт / приложение промышленного уровня. Лучший (и, очевидно, более сложный) подход состоит в том, чтобы получить набор запросов Hotels
, сериализовать их в JSON, создать карту / строку / виджет для каждой гостиницы для поиска и выбора пользователем. Однако это быстрый и удобный способ управления небольшими проектами.