Skip to content

Commit ce82b7a

Browse files
committed
Alternate alternate approach 🙃
1 parent 14e2b13 commit ce82b7a

File tree

2 files changed

+1
-17
lines changed

2 files changed

+1
-17
lines changed

‎dashboard/models.py

-15
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import ast
22
import calendar
33
import datetime
4-
import operator
5-
from functools import reduce
64

75
import requests
86
from django.contrib.contenttypes.fields import GenericForeignKey, GenericRelation
@@ -254,17 +252,6 @@ def link(self):
254252
return self.urljoin(self.jenkins_root_url, "job", self.build_name)
255253

256254

257-
class DatumQuerySet(models.QuerySet):
258-
def metrics(self, *metrics):
259-
"""
260-
Return only the data from the given metrics.
261-
"""
262-
if not metrics:
263-
return self.none()
264-
qobjs = [models.Q(content_type=m.content_type, object_id=m.pk) for m in metrics]
265-
return self.filter(reduce(operator.or_, qobjs))
266-
267-
268255
class Datum(models.Model):
269256
metric = GenericForeignKey()
270257
content_type = models.ForeignKey(
@@ -274,8 +261,6 @@ class Datum(models.Model):
274261
timestamp = models.DateTimeField(default=datetime.datetime.now)
275262
measurement = models.BigIntegerField()
276263

277-
objects = DatumQuerySet.as_manager()
278-
279264
class Meta:
280265
ordering = ["-timestamp"]
281266
get_latest_by = "timestamp"

‎dashboard/views.py

+1-2
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,7 @@ def index(request):
2525
metrics = sorted(metrics, key=operator.attrgetter("display_position"))
2626

2727
metric_latest_querysets = [
28-
Datum.objects.metrics(metric).order_by("-timestamp")[0:1]
29-
for metric in metrics
28+
metric.data.order_by("-timestamp")[0:1] for metric in metrics
3029
]
3130
data_latest = Datum.objects.none().union(*metric_latest_querysets)
3231
latest_by_metric = {

0 commit comments

Comments
 (0)