I API yanıtına göre periyodik timeseries verileri depolamak olan bir django (DRF) uygulaması vardır. İşte benim model.py olduğunu
# Model to store the Alexa API Data
class Alexa(models.Model):
created_at = models.DateTimeField(auto_now_add=True)
extra = jsonfield.JSONField(null=True)
rank = models.PositiveIntegerField(default=0, null=True)
Bir aralık (__lte, __gte) dayalı sorgu verilerine django-filtreleri kullanıyorum. Gibi /api/alexa/?created_at__lte=2020-02-14T09:15:52.329641Z
önce oluşturulan tüm verileri döndürür2020-02-14T09:15:52.329641Z
[
{
id: 1,
created_at: 2020-02-03T19:30:57.868588Z,
extra: {'load_time': 00, 'backlink': 0},
rank: 0
},
...
]
Ben geçmesi Sorgu parametreleri temelinde gün, hafta, ay ve yıla göre gruplandırılmış toplanan verileri döndürmek için bir bitiş noktası oluşturmak için bir yolu var mı. Örneğin,
/api/alexa/?created_at__lte=2020-02-14T09:15:52.329641Z&group_by=month
dönecekti
[
{
created_at: 2020-01-01T00:00:00.000000Z,
extra: {'load_time': 00, 'backlink': 0}, <- Aggregated Data
rank: 0 <- Aggregated Data
},
{
created_at: 2020-02-01T00:00:00.000000Z,
extra: {'load_time': 00, 'backlink': 0}, <- Aggregated Data
rank: 0 <- Aggregated Data
},
]
İşte benim şimdiki serializer.py var
class AlexaViewSet(viewsets.ModelViewSet):
queryset = Alexa.objects.all()
filter_fields = {'created_at' : ['iexact', 'lte', 'gte']}
http_method_names = ['get', 'post', 'head']
Ben toplanmasına yapıyor birkaç parçacıkları gördük ama hiçbiri tamamen benim gereklerini yerine getiren, ne de bana konu hakkında tam bir fikir veriyor.
Ben ön uç grafiklerinde tüketim için böyle timeseries verilerini temsil etme başka bir yolu varsa, bu işe önerilerinizi takdir de ediyorum, genel olarak Django yeni ve bina analitik gösterge tabloları duyuyorum.