Поэтому я пытаюсь эмулировать страницу состояния приложения Google: http://www.google.com/appsstatus#hl=en, но для резервных копий для наших собственных серверов.Вместо имен сервисов слева это будут имена серверов, но будут также даты и, возможно, нумерация страниц.Мои модели невероятно похожи на это:
from django.db import models
STATUS_CHOICES = (
('UN', 'Unknown'),
('NI', 'No Issue'),
('IS', 'Issue'),
('NR', 'Not Running'),
)
class Server(models.Model):
name = models.CharField(max_length=32)
def __unicode__(self):
return self.name
class Backup(models.Model):
server = models.ForeignKey(Server)
created = models.DateField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=2, choices=STATUS_CHOICES, default='UN')
issue = models.TextField(blank=True)
def __unicode__(self):
return u'%s: %s' % (self.server, self.get_status_display())
Моя проблема в том, что у меня чертовски много времени отображается информация, которая мне нужна.Каждый день, чуть позже полуночи, запускается задание cron и добавляется строка для каждого сервера на этот день, по умолчанию устанавливается статус неизвестный (UN).
My backups.html:
{% extends "base.html" %}
{% block content %}
<table>
<tr>
<th>Name</th>
{% for server in servers %}
<th>{{ created }}</th>
</tr>
<tr>
<td>{{ server.name }}</td>
{% for backup in server.backup_set.all %}
<td>{{ backup.get_status_display }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>
{% endblock content %}
Thisна самом деле работает, но я не знаю, как получить даты, чтобы показать.Очевидно, {{ created }}
ничего не делает, но у серверов нет дат создания.Резервное копирование выполняется, и поскольку это задание cron, должно быть только число строк X с какой-либо конкретной датой (в зависимости от того, сколько серверов мы просматриваем за этот день).
Сводка
Я хочу создать таблицу, где X - это имена серверов, Y - даты, начинающиеся с сегодняшнего дня, а все ячейки - состояние резервной копии.Вышеприведенная модель и шаблон должны , надеюсь дать вам представление о том, каков мой мыслительный процесс, но я готов что-нибудь изменить.По сути, я создаю электронную таблицу Excel.