Как отобразить данные на основе операторов условий в поле CHOICES в шаблоне django? - PullRequest
0 голосов
/ 22 февраля 2020

Позвольте мне объяснить мой вопрос в более простых терминах. У меня есть следующий код:

models.py

class Hotel(models.Model):
    name = models.CharField('Hotel Name', max_length=2000)

    Comfort     = 'EC'
    Elite       = 'EE'
    Smart       = 'ES'
    Inn         = 'EI'
    Consultancy = 'EY'

    CHOICES = [
        (Comfort, 'Erica Comfort'),
        (Elite, 'Erica Elite'),
        (Smart, 'Erica Smart'),
        (Inn, 'Erica Inn'),
        (Consultancy, 'Erica Consultancy'),
    ]

    category = models.CharField(max_length=2, choices=CHOICES, default=Elite)

    def __str__(self):
        return self.name

views.py

def index_view(request):
    hotel = Hotel.objects.all()
    context = {
    'hotel_list' : hotel,
    } 
    return render(request, 'index.html', context)

index. html

<div class="col-lg-2">
 <h2 class="cat_title">Erica Smart</h2>
 {% if hotel_list.category.choices == Smart %}
 {% for hotel in hotel_list %}
 <a class="dropdown-item" href="{{ hotel.get_absolute_url }}">{{ hotel.name }}</a>
 {% endfor %}
 {% endif %}
</div>

Как вы можете видеть, в приведенном выше коде я хочу, чтобы список отелей отображался на основе их категории, которая будет получена из одного из указанный выбор в поле категории в models.py

Примечание. В этом коде нет пользовательского ввода, т. е. я не использую forms.py в проекте.

...