Ich habe eine Detailansicht eines bestimmten Kanals. Alle Daten des Kanals sind hier aufgelistet. Es gibt eine Modellklasse namens 'ExecutionLog'. Derzeit werden alle anderen Daten in der Detailansicht angezeigt, mit Ausnahme der Daten aus der Modellklasse 'ExecutionLog'.Erhalte Daten von der Modellklasse in Django
Die Klasse ist in "Klassenbasierte Ansichten", die für mich völlig neu ist. Ich konnte nicht verstehen, was wirklich vor sich geht.
Detailview Klasse Ansicht:
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
Modell für 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']
Ich möchte, dass die Detailseite ist die ExecutionLog Daten des Kanals erhalten.
Also, was ist eigentlich dein Problem? Welchen Fehler bekommst du? – zaidfazil
Ich habe nicht verstanden, wie man die Daten tatsächlich aus der Modellklasse holt und über die 'ChannelDetailView'-Klasse sendet. –
hast du https://docs.djangoproject.com/en/1.11/ref/class-based-views/generic-display/ gelesen? –