Python: Нужна помощь в работе с выпадающим списком

Я принял веб-приложение от пользователя, который покинул компанию, и я не знаю, что я делаю. В основном у меня есть таблица сайта, в которой есть 2 столбца, которые мне нужны, сайт и имя. Я хочу, чтобы имя отображалось в выпадающем меню, а сайт был значением выпадающего меню. Вот как это выглядит сейчас:

В шаблоне представления

def getWarehouseList():
warehouse_list = ['Warehouse'] + pd.DataFrame.from_records(Site.objects.filter(active=True).values('site')).sort_values('site')['site'].tolist()
return tuple([(choice, choice) for choice in warehouse_list])

В html/view:

<select id="warehouse\_drop" name = "warehouse"> {% for warehouse in warehouse\_list %} <option value ="{{warehouse}}">{{ warehouse }}</option> {% endfor %} </select>

Как я могу изменить значение опции на "имя" вместо "сайт" (склад). Спасибо.

Ваш ответ должен содержать все поля объекта Site в контексте шаблона, а не только значение сайта. Ваша функция представления должна выглядеть следующим образом:

from django.shortcuts import render

def getWarehouseList(request):
    context={
        'warehouse_list' : Site.objects.filter(active=True) # you can give any string for 'warehouse_list'. It may be 'site_list' or anything else but you must use same name in html file 
    }
    return render(request, 'xxxx.html', context=context)

где 'xxxx.html' - имя вашего html-файла. Он может находиться в папке templates. Если есть внутренние папки, вы должны указать 'folderpath/xxxx.html'.

в файле 'xxxx.html':

<select id="warehouse\_drop" name = "warehouse"> 
   {% for warehouse in warehouse_list %} 
      <option value ="{{warehouse.name}}">{{warehouse.site}}</option> 
   {% endfor %} 
</select>
Вернуться на верх