temp中的Django格式数据库条目

2024-10-01 15:32:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我试着给一个医生显示办公时间,我想把同一天的时间放在同一行,而不是放在不同的行上。你知道吗

例如,这就是它当前在模板中的显示方式

Sunday: 9 am - noon
Sunday: 1pm - 9pm
Monday: 8:30am - 11am

我想把它展示出来

Sunday: 9am - noon , 1pm - 9pm
Monday: 8:30am - 11am

我该怎么做?你知道吗

你知道吗型号.py你知道吗

WEEKDAYS = [
  (1, ("Sunday")),
  (2, ("Monday")),
  (3, ("Tuesday")),
  (4, ("Wednesday")),
  (5, ("Thursday")),
  (6, ("Friday")),
  (7, ("Saturday")),
]


class OpeningHour(models.Model):

    doctor = models.ForeignKey(Doctor)
    weekday = models.IntegerField(choices=WEEKDAYS)
    from_hour = models.TimeField(unique=False)
    to_hour = models.TimeField(unique=False)

    class Meta:
        ordering = ('weekday', 'from_hour')

    def __unicode__(self):
        return u'%s: %s: %s - %s' % (self.doctor.name, self.get_weekday_display(),
                                 self.from_hour, self.to_hour)

你知道吗模板.py你知道吗

 {% for a in Hours %}
                <p>{{a.get_weekday_display}}: {{a.from_hour}} - {{a.to_hour}}</p>
            {% endfor %}

工时表

enter image description here

你知道吗视图.py你知道吗

hours = OpeningHour.objects.filter(doctor_id=id)

Tags: tofrompyself模板modelsclassdoctor
1条回答
网友
1楼 · 发布于 2024-10-01 15:32:24

假设模板中的hours表示OpeningHour对象的有序列表(按工作日排序),那么可以使用ifchanged模板标记。比如:

{% for a in hours %}
    {% ifchanged a.weekday %}
        <p> {{a.get_weekday_display}}:
    {% endifchanged %}
    {{a.from_hour}} - {{a.to_hour}}, 
    {% ifchanged a.weekday %}
        </p>
    {% endifchanged %}
{% endfor %}

(可能需要考虑一些限制条件,但这是一个想法)

相关问题 更多 >

    热门问题