Merge branch 'decoded-data-index' into 'dev'
Fixes long loading times on satellite page by adding is_decoded boolean field… See merge request librespacefoundation/satnogs/satnogs-db!216environments/stage/deployments/16
commit
788600ee70
|
@ -0,0 +1,20 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.11.10 on 2018-03-04 08:50
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0001_squashed_0009_auto_20180103_1931'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='demoddata',
|
||||
name='is_decoded',
|
||||
field=models.BooleanField(db_index=True, default=False),
|
||||
),
|
||||
]
|
|
@ -8,7 +8,7 @@ from django.conf import settings
|
|||
from django.contrib.auth.models import User
|
||||
from django.core.validators import MaxValueValidator, MinValueValidator
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save
|
||||
from django.db.models.signals import post_save, pre_save
|
||||
from django.utils.timezone import now
|
||||
|
||||
from db.base.helpers import gridsquare
|
||||
|
@ -37,6 +37,10 @@ def _gen_observer(sender, instance, created, **kwargs):
|
|||
post_save.connect(_gen_observer, sender=DemodData)
|
||||
|
||||
|
||||
def _set_is_decoded(sender, instance, **kwargs):
|
||||
instance.is_decoded = instance.payload_decoded != ''
|
||||
|
||||
|
||||
class TransmitterApprovedManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(TransmitterApprovedManager, self).get_queryset().filter(approved=True)
|
||||
|
@ -179,6 +183,7 @@ class DemodData(models.Model):
|
|||
default=0)
|
||||
lng = models.FloatField(validators=[MaxValueValidator(180), MinValueValidator(-180)],
|
||||
default=0)
|
||||
is_decoded = models.BooleanField(default=False, db_index=True)
|
||||
timestamp = models.DateTimeField(null=True)
|
||||
|
||||
class Meta:
|
||||
|
@ -199,3 +204,4 @@ class DemodData(models.Model):
|
|||
|
||||
|
||||
post_save.connect(_gen_observer, sender=DemodData)
|
||||
pre_save.connect(_set_is_decoded, sender=DemodData)
|
||||
|
|
|
@ -88,9 +88,8 @@ def satellite(request, norad):
|
|||
satellite = get_object_or_404(satellite_query, norad_cat_id=norad)
|
||||
suggestions = Suggestion.objects.filter(satellite=satellite)
|
||||
modes = Mode.objects.all()
|
||||
telemetry_data_empty = DemodData.objects.filter(satellite__norad_cat_id=norad,
|
||||
payload_decoded__exact='').count()
|
||||
telemetry_data_count = satellite.payload_frames_count - telemetry_data_empty
|
||||
telemetry_data_count = DemodData.objects.filter(satellite__norad_cat_id=norad,
|
||||
is_decoded=True).count()
|
||||
|
||||
try:
|
||||
latest_frame = DemodData.objects.get(satellite=satellite,
|
||||
|
|
Loading…
Reference in New Issue