如何比较控制器中的Django中保存的数据



我构建了一个Django驱动的WebApps,我在其中使用了一个称为平均CGPA(AVG_CGPA(的模型字段,该字段是Django模型中的十分位域。我还使用一个用于控制器/模板上的循环来生成有关学生的所有单独数据。现在,我的目的是比较每行模型的AVG_CGPA数据,以生成一个新的

tag。学生。例如,如果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%}

我确实尝试过是否有循环条件,但没有结果。

我将考虑将属性添加到您的模型中,该属性是否返回是否是通过

class Management(models.Model):
   @property
   def passed(self):
       return self.avg_cgpa > 2

然后可以在模板{% if x.passed %}中使用,也可以在代码的其他部分中使用,并且更可读性

最新更新