Невозможно передать данные в Generic DetailView в Django - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь передать две модели в мой шаблон. Проблема в том, что данные не отображаются в представлении.

Вот код, который я пробовал:

 # views.py
 class ServiceDetailView(generic.DetailView):
      model = Service
      template_name = "service_detail.html"

      def get_context_data(self, **kwargs):
           context = super(ServiceDetailView, self).get_context_data(**kwargs)
           context['prices'] = Price.objects.filter(service__serviceid=self.kwargs.get('pk'))
           return context

 #service_detail.html
 <h5>Other Hospital Descriptions</h5>
       <ul>
       {% for price in prices.price_value.all %}
          <li>price</li>
       {% endfor %}

Ничего не пропущено. Service_id - это первичный ключ, а цена связана с таблицей услуг.

1 Ответ

0 голосов
/ 15 мая 2019

Если вы уже передаете набор запросов цен, то почему используете price_value? Я думаю, что этот код будет работать просто отлично:

 <h5>Other Hospital Descriptions</h5>
   <ul>
   {% for price in prices %}
      <li>{{ price }}</li>
   {% endfor %}

Или, если Price модель имеет related_name в ForeignKey для Service с именем price_value, то следующий код также будет работать:

 <h5>Other Hospital Descriptions</h5>
   <ul>
   {% for price in object.price_value.all %}
      <li>{{ price }}</li>
   {% endfor %}

В этом случае вам не нужно передавать набор запросов Price.

Или, если у него нет связанных имен, {% for price in object.price_set.all %} также будет работать.

...