मैं जिसमें मैं एपीआई प्रतिक्रिया के आधार पर समय-समय पर timeseries डेटा भंडारण के एक Django (डीआरएफ) अनुप्रयोग है। यहाँ मेरी model.py है
# 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)
मैं एक सीमा (__lte, __gte) के आधार पर क्वेरी डेटा को Django-फ़िल्टर का उपयोग कर रहा हूँ। जैसा /api/alexa/?created_at__lte=2020-02-14T09:15:52.329641Z
पहले बनाए गए सभी डेटा वापस2020-02-14T09:15:52.329641Z
[
{
id: 1,
created_at: 2020-02-03T19:30:57.868588Z,
extra: {'load_time': 00, 'backlink': 0},
rank: 0
},
...
]
वहाँ एक अंत बिंदु का निर्माण करने के क्वेरी पैरामीटर मैं पारित के आधार पर दिन, सप्ताह, महीने और साल के आधार पर वर्गीकृत समेकित डेटा वापस जाने के लिए एक रास्ता है। उदाहरण के लिए,
/api/alexa/?created_at__lte=2020-02-14T09:15:52.329641Z&group_by=month
वापसी होगी
[
{
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
},
]
यहाँ मेरे वर्तमान serializer.py है
class AlexaViewSet(viewsets.ModelViewSet):
queryset = Alexa.objects.all()
filter_fields = {'created_at' : ['iexact', 'lte', 'gte']}
http_method_names = ['get', 'post', 'head']
मैं कई एकत्रीकरण कर के टुकड़े को देखा है, लेकिन कोई भी पूरी तरह से मेरी आवश्यकताओं को पूरा करने और न ही मुझे विषय के बारे में एक पूरा विचार दे रही है।
मैं सामान्य रूप में Django के लिए नए और निर्माण एनालिटिक्स डैशबोर्ड्स हूँ, अगर वहाँ सामने के अंत रेखांकन में खपत के लिए इस तरह के timeseries डेटा का प्रतिनिधित्व करने के किसी अन्य तरीके से कर रहे हैं, मैं भी है कि करने के लिए अपने सुझाव की सराहना करेंगे।