我有一個特定頻道的DetailView。這裏列出了該頻道的所有數據。有一個名爲'ExecutionLog'的模型類。目前,除了來自'ExecutionLog'模型類的數據之外,所有其他數據都顯示在詳細視圖中。從Django中的模型類獲取數據
該課程是在'基於類的視圖',這對我來說是全新的。我無法理解真正發生了什麼。
的DetailView類視圖:
class ChannelDetailView(LoginRequiredMixin, SuperAdminMixin, ChannelView, DetailView):
def get_context_data(self, *args, **kwargs):
context = super(ChannelDetailView, self).get_context_data(*args, **kwargs)
if 'date' in self.request.GET:
d = self.request.GET['date']
date = datetime.datetime.strptime(d, "%Y-%m-%d").date()
else:
date = datetime.date.today()
context['activePage'] = {'tree': 'ChannelPage', 'branch': 'index'}
datas = get_datas_hourly(True, self.object.id, date)
matches_data = get_datas_hourly(False,self.object.id, date)
context['date'] = date
context['labels'] = datas.keys()
context['values'] = datas.values()
context['matches_labels'] = matches_data.keys()
context['matches_values'] = matches_data.values()
return context
模型ExecutionLog:
class ExecutionLog(models.Model):
ACTION_TYPES = (
(0, 'START'),
(1, 'STOP'),
(2, 'ASSIGNED'),
(3, 'ERROR'),
(4, 'OTHERS'),
)
type = models.IntegerField(default=0, choices=ACTION_TYPES)
title = models.CharField(max_length=255)
description = models.TextField(max_length=255, blank=True, null=True)
date = models.DateTimeField(auto_now_add=True)
execution = models.ForeignKey(Execution, related_name="execution_logs")
class Meta:
ordering = ['-date']
我想要得到的特定頻道的DetailView頁面的ExecutionLog數據。
那麼,究竟是什麼是你的問題?你遇到了什麼錯誤? – zaidfazil
我不明白如何實際從模型類中獲取數據並通過'ChannelDetailView'類發送它。 –
您是否閱讀過https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-display/? –