как контролировать цикл for, если значение уже обнаружено? - PullRequest
0 голосов
/ 23 октября 2019

\ html

<select id="payments" name ="payments" onchange="payment(this.value)">
    <option value="0" name ="yearlvllist">-- Payment Type --</option>
   {% for paymentschedule in payment %}
    <option value="{{paymentschedule.Payment_Type.id}}" name ="payments">{{paymentschedule.Payment_Type}}</option>
    {% endfor%}
</select>

\ views

def scheduleofpayment(request):
payment = ScheduleOfPayment.objects.all().filter(Education_Levels=paymentsid).order_by('Display_Sequence')
return render(request, 'accounts/scheduleofpayment.html', {"payment":payment})

\ models

class ScheduleOfPayment(models.Model):
    Pending_Request = [
       ('Active', 'Active'),
       ('Inactive', 'Inactive'),
    ]
    Education_Levels = models.ForeignKey(EducationLevel, related_name='+', on_delete=models.CASCADE, blank=True, null=True)
    Courses = models.ForeignKey(Course, related_name='+', on_delete=models.CASCADE,blank=True, null=True)
    Payment_Type = models.ForeignKey(PaymentType, related_name='+', on_delete=models.CASCADE, blank=True, null=True)
    Display_Sequence = models.IntegerField(blank=True, null=True)
    Date = models.DateField(null=True,blank=True)
    Amount = models.FloatField(null=True, blank=True)
    Remark = models.CharField(max_length=500,blank=True, null=True)
    Status = models.CharField(max_length=500, null=True, choices=Pending_Request,blank=True)

    def __str__(self):
        suser = '{0.Education_Levels}'
        return suser.format(self)

это изображение с моего админ-сайта admin-сайт

это результат того, что я фильтрую в графике платежей пользователь

Моя проблема заключается в том, как контролировать циклы ежемесячных платежей в шаблоне html? без удаления базы данных. у вас есть идея, ребята?

1 Ответ

0 голосов
/ 23 октября 2019

Если ваша цель состоит только в том, чтобы Cash и Monthly под Тип платежа , тогда вы можете использовать метод QuerySet distinct().

views.py

  def scheduleofpayment(request):
      payment = ScheduleOfPayment.objects.all().filter(Education_Levels=paymentsid)
                .order_by('Display_Sequence').distinct('Payment_Type') 
return render(request, 'accounts/scheduleofpayment.html', {"payment":payment})

ИЛИ

Поскольку у вас есть модель для Тип оплаты Разве вы не можете использовать это для отображения своих настроек?

views.py

def scheduleofpayment(request):
      payment = ScheduleOfPayment.objects.all().filter(Education_Levels=paymentsid)
                .order_by('Display_Sequence')
      payment_type = PaymentType.objects.all()

      context = {
          'payment': payment,
          'payment_type': payment_type,
      }

return render(request, 'accounts/scheduleofpayment.html', context)

html



\html
<select id="payments" name ="payments" onchange="payment(this.value)">
    <option value="0" name ="yearlvllist">-- Payment Type --</option>
    {% for type in payment_type %}
        <option value="{{type.id}}" name ="payments"> 
        {{ type.name }}</option>
    {% endfor%}
    {% endfor%}
</select>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...