首页 > 解决方案 > 在 html 模板中渲染 Django @property 方法

问题描述

我对 Django 比较陌生。我正在尝试在我的 django 模板中呈现我的 @property 方法。我正在利用两个爸爸之间的差异来确定这个对象是否适合发布或必须重新校准。

我有一个问题:'int' object is not callable

我的模型:

class Tools_Calibrated(models.Model):

    description = models.CharField(max_length=50, blank=True, null=True)
    serial_number = models.CharField(max_length=50, blank=True, null=True)
    part_number = models.CharField(max_length=50, blank=True, null=True)
    recieved = models.DateTimeField(auto_now_add=False, auto_now=True)
    calibrated = models.BooleanField(default='True', blank=True, null=True)
    calibrated_date = models.DateTimeField(
        auto_now_add=False, blank=True, null=True)
    expiry_date = models.DateTimeField(
        auto_now_add=False, blank=True, null=True)
    cert_no = models.CharField(max_length=50, blank=True, null=True)
    range_no = models.CharField(max_length=50, blank=True, null=True)
    issued = models.BooleanField(default='False', blank=True, null=True)
    workorder_no = models.ForeignKey(
        WorkOrders, null=True, blank=True, on_delete=models.SET_NULL)

    def __str__(self):
        return self.description

    @property
    def timecalculated(self):
        exp = self.expiry_date
        cali = self.calibrated_date
        total = exp-cali
        return total.days()

我的模板:

      {% for tool in Cali %}
                    <tr>
                        <td style="text-align:center">{{tool.description}}</td>
                        <td style="text-align:center">{{tool.part_number}}</td>
                        <td style="text-align:center">{{tool.serial_number}}</td>
                        <td style="text-align:center">{{tool.recieved|date:"M d, Y"}}</td>
                        <td style="text-align:center">{{tool.calibrated_date|date:"M d, Y"}}</td>
                        <td style="text-align:center">{{tool.expiry_date|date:"M d, Y"}}</td>
                        <td>{{tool.timecalculated}}</td>
                        <td style="text-align:center">{{tool.cert_no}}</td>
                        <td style="text-align:center">{{tool.range_no}}</td>

                        <td style="text-align:center"><a class="btn btn-sm btn-info sb-btn" href="{% url 'editCali' tool.id%}">Edit</a></td>
                        <td style="text-align:center"><a class="btn btn-sm btn-danger sb-btn" onClick='return confirmDelete()' href="{% url 'deleteCali' tool.id %}">Delete</a></td>
                        <td style="text-align:center"><a class="btn btn-sm btn-warning sb-btn" href="{% url 'change_calibration_status' tool.id%}" onClick='return confirmCali()'>Calibrate</a></td>
                        <td style="text-align:center"><a class="btn btn-sm btn-primary sb-btn" href="{% url 'issueworkorderCali' tool.id%}">Issue to W/O</a></td>
                    </tr>
                    {% endfor%}

标签: djangodjango-models

解决方案


抛弃():return total.days

days本身是一个属性,不需要调用。


推荐阅读