Как я могу сравнить данные, сохраненные в модели в Django от контроллера? - PullRequest
0 голосов
/ 27 мая 2019

Я создал веб-приложения на основе django, в которых я использовал поле модели, называемое средней CGPA (avg_cgpa), которое является моделью DecimalField в Django.Также я использовал цикл for на контроллере / шаблоне, чтобы сгенерировать все отдельные данные об ученике. Теперь я собираюсь сравнить данные avg_cgpa для каждой строки модели, чтобы сгенерировать новый тег

. Где будет печататься различный результат для каждогоученик.Мол, если avg_cgpa> 2,00, будет проходить печать, иначе не получится!Я пытался, как вы видели на шаблоне, но он не работает, пожалуйста, придумайте свой полезный ответ.

(Django model here)

class Management(models.Model):
    student_id = models.CharField(max_length=100)
    first_name = models.CharField(max_length=200)
    last_name = models.CharField(max_length=200)
    father_name = models.CharField(max_length=200)
    mother_name = models.CharField(max_length=200)
    Present_address = models.TextField(max_length=400)
    Permanent_address = models.TextField(max_length=400)
    contact = models.CharField(max_length=11)
    avg_cgpa = models.DecimalField(max_digits=20,decimal_places=2)

    def __str__(self):
        return self.student_id
(Here is the template)

{% load static %}
{% include 'base.html' %}
{% block content %}
{% include 'navbar.html' %}
{% include 'banner.html' %}


<div class = "container">
    <div class="row">
        {% for x in student %}
        <div class="col-md-4">
            <div class="card" style="width: 18rem;">
                  <div class="card-body">
                    <h5 class="card-title"><strong>ID : </strong> {{ x.student_id }}</h5>
                     <hr class="my-4">
                    <img class="card-img-top" src="{% static "images/hat.png" %}"><hr class="my-4">
                    <h6 class="card-subtitle mb-2 text-muted"><strong><i class="far fa-user-circle"></i> </strong> {{ x.first_name }} {{ x.last_name }}</h6>
                    <hr class="my-4">
                    <p class="card-text">Father's Name : <strong>{{ x.father_name }}</strong></p>
                    <p class="card-text">Mother's Name : <strong>{{ x.mother_name }}</strong></p>
                    <p class="card-text">Address : <strong>{{ x.Permanent_address }}</strong></p>
                   <p class="card-text"><strong><i class="fas fa-phone"></i> {{ x.contact }}</strong> </p>
                   <p class="card-text">Avg CGPA : <strong>{{ x.avg_cgpa }}</strong></p>
                   {% if x.avg_cgpa > "2" %}
                        <p class="card-text">Condition : <strong>Pass</strong></p>
                   {% endif %}
                  </div>
              </div>
              </br>
        </div>
        {% endfor %}
    </br>
</div>

{% include 'footer.html' %}
{% endblock%}

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

1 Ответ

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

Я хотел бы рассмотреть возможность добавления свойства к вашей модели, которое возвращает, является ли это проходом или нет

class Management(models.Model):

   @property
   def passed(self):
       return self.avg_cgpa > 2

Это может быть использовано в шаблоне {% if x.passed %}, оно также может быть использовано в других частях вашего кода и немного более читабельно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...