Невозможно записать правильный набор запросов в Django
У меня есть три модели: подплан, подпланфункция и цена. Я хочу показать таблицу цен тренажерного зала, но она показывает неправильный результат
class SubPlan(models.Model):
title = models.CharField(max_length=150)
def __str__(self):
return self.title
class SubPlanFeature(models.Model):
title = models.CharField(max_length=150)
def __str__(self):
return self.title
class Price(models.Model):
gym=models.ForeignKey(Gym,on_delete=CASCADE)
subplan=models.ForeignKey(SubPlan,on_delete=CASCADE,related_name='subplans')
feature=models.ForeignKey('SubPlanFeature',on_delete=CASCADE,related_name='features')
price = models.IntegerField()
highlight_status = models.BooleanField(default=False,null=True)
вот мое мнение
def pricing(request,slug):
gym=models.Gym.objects.get(slug=slug)
price=models.Price.objects.all()
banners=models.Banners.objects.filter(gym=gym)
plans1= models.Price.objects.filter(gender='man',gym=gym)
dfeatures1=models.Price.objects.filter(gender='man',gym=gym)
return render(request, 'pricing.html',{'plans1':plans1,'dfeatures1':dfeatures1,'gym':gym})
и шаблон здесь
<thead>
<tr>
<th style="width: 34%;"></th>
{% for plan in plans1 %}
<th style="width: 22%;">{{plan.subplan}}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for feature in dfeatures1 %}
<tr>
<th scope="row" class="text-start">{{feature.feature}}</th>
{% for plan in plans1 %}
<td>
{{plan.price}} Azn.
</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
он должен отображаться следующим образом введите описание изображения здесь
но показывает вот это
введите описание изображения здесь
что я должен изменить?
вы можете использовать счетчик "forloop" в шаблоне
...
{% for feature in dfeatures1 %}
<tr>
<th scope="row" class="text-start">{{feature.feature}}</th>
{% for plan in plans1 %}
<td>
# only print when counter in parent loop are the same
{% if forloop.parentloop.counter == forloop.counter %}
{{plan.price}} Azn.
{% endif %}
</td>
{% endfor %}
</tr>
{% endfor %}