条件,如果打印日期在django表中的错误日期行

时间:2016-08-22 04:39:54

标签: python django date

我想在那些从之前日期转移的日期打印一些消息。为此,我有两个模型,用于在同一个sit_date字段中存储前一个日期和新日期。这个模型是:

class Sitting(models.Model):
    sit_date = models.DateField(blank=False,unique=True)
    cut_off_date = models.DateField(null=True, blank=True)
    ballot_date = models.DateField(null=True, blank=True)
    sess_no = models.ForeignKey(Session,
                                 on_delete=models.CASCADE)
    genre = TreeForeignKey('Genre', null=True, blank=True, db_index=True)

使用上述模型的sit_date创建班次日期的另一种模型。当我创建班次日期时,此日期存储在Sitting模型的sit_date字段中。这是我的第二个模型:

class Shiftdate(models.Model):
    shift_date = models.DateField(blank=False,unique=True)
    sit_date = models.ForeignKey(Sitting,
                                on_delete=models.CASCADE)
    shift_cut_off_date = models.DateField(null=True, blank=True)
    shift_ballot_date = models.DateField(null=True, blank=True)
    sess_no = models.ForeignKey(Session,
                                on_delete=models.CASCADE)
    genre = TreeForeignKey('Genre', null=True, blank=True, db_index=True)

之后在模板中渲染sit_date时,我想检查哪个sit_dates等于Shiftdate模型的sit_dates。如果找到,表格中的班次日期行应该打印一条消息。到目前为止,我在我的模板中获得了以下代码:

{% for sitting in c.sittings %}
    {% for shiftdate in sitting.shiftdate_set.all %}
        {% if sittings.sit_date == shiftdate.sit_date %}
            <p>Firstly it was scheduled on {{sitting.shift_date}}</p>
        {% endif %}       
    {% endfor %}
{% endfor %}

但它打印了原始sit_date上的消息,而不是移动日期行。输出结果如下:enter image description here

在上表中,您可以看到我原来的sit_dates是8月31日和9月1日,我的转换日期是9月14日和15日。但是消息&#34;首先它被安排在{{shiftdate.sit_date}}&#34;打印在原始sit_date而不是移动日期,现在坐标模型中也是sit_date。

有人可以建议解决这个问题的方法吗?

0 个答案:

没有答案