提问人:Anna Berezko 提问时间:11/9/2023 最后编辑:Anna Berezko 更新时间:11/9/2023 访问量:34
Django 管理员添加额外内容
django admin add extra content
问:
我不是 Django admin( 我有模型:
class Device(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, max_length=128)
name = models.CharField(max_length=256)
class DeviceHistory(models.Model):
device = models.ForeignKey(Device, on_delete=models.CASCADE, related_name='device_history')
created_at = models.DateTimeField(auto_now_add=True, blank=True, null=True)
我想在 Django 管理面板的详细页面中添加一个表格。有两个日期时间输入(开始和结束日期时间)。我需要按小时计算这个时间,并检查是否存在一个或多个设备历史记录。 这就是我获得数据数组的方式:
def get_device_history(device):
date_first = timezone.now() - datetime.timedelta(hours=8)
date_last = timezone.now()
result = []
while date_first < date_last:
date_end = date_first + datetime.timedelta(hours=1)
histories_exists = DeviceHistory.objects.filter(
device=device,
created_at__gte=date_first,
created_at__lte=date_end
).exists()
result.append([str(date_first), str(date_end), histories_exists])
date_first = date_end
我有这样的东西
[['2023-11-08 10:03:00.577493+00:00', '2023-11-08 11:03:00.577493+00:00', False], ['2023-11-08 11:03:00.577493+00:00', '2023-11-08 12:03:00.577493+00:00', False], ['2023-11-08 12:03:00.577493+00:00', '2023-11-08 13:03:00.577493+00:00', False], ['2023-11-08 13:03:00.577493+00:00', '2023-11-08 14:03:00.577493+00:00', True], ['2023-11-08 14:03:00.577493+00:00', '2023-11-08 15:03:00.577493+00:00', True], ['2023-11-08 15:03:00.577493+00:00', '2023-11-08 16:03:00.577493+00:00', False], ['2023-11-08 16:03:00.577493+00:00', '2023-11-08 17:03:00.577493+00:00', True], ['2023-11-08 17:03:00.577493+00:00', '2023-11-08 18:03:00.577493+00:00', False]]
如何将此数据添加到管理页面,如 TabularInline 表?如何添加两个日期时间输入以进行不同范围内的搜索?
答: 暂无答案
评论