Add observer field on DemodData
parent
4608c000f6
commit
577013d262
|
@ -104,7 +104,7 @@ class TelemetryAdmin(admin.ModelAdmin):
|
|||
|
||||
@admin.register(DemodData)
|
||||
class DemodDataAdmin(admin.ModelAdmin):
|
||||
list_display = ('id', 'satellite', 'source', 'station')
|
||||
list_display = ('id', 'satellite', 'source', 'observer')
|
||||
search_fields = ('transmitter__uuid', 'satellite__norad_cat_id', 'observer')
|
||||
|
||||
def satellite(self, obj):
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.10.6 on 2017-03-14 18:38
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0004_auto_20170302_1641'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='demoddata',
|
||||
name='observer',
|
||||
field=models.CharField(blank=True, max_length=60),
|
||||
),
|
||||
]
|
|
@ -4,6 +4,7 @@ from uuid import uuid4
|
|||
|
||||
from django.core.validators import MaxValueValidator, MinValueValidator
|
||||
from django.db import models
|
||||
from django.db.models.signals import post_save
|
||||
from django.contrib.auth.models import User
|
||||
from django.conf import settings
|
||||
|
||||
|
@ -19,6 +20,18 @@ def _name_payload_frame(instance, filename):
|
|||
return path.join(folder, filename)
|
||||
|
||||
|
||||
def _gen_observer(sender, instance, created, **kwargs):
|
||||
post_save.disconnect(_gen_observer, sender=DemodData)
|
||||
try:
|
||||
qth = gridsquare(instance.lat, instance.lng)
|
||||
except:
|
||||
instance.observer = 'Unknown'
|
||||
else:
|
||||
instance.observer = '{0}-{1}'.format(instance.station, qth)
|
||||
instance.save()
|
||||
post_save.connect(_gen_observer, sender=DemodData)
|
||||
|
||||
|
||||
class TransmitterApprovedManager(models.Manager):
|
||||
def get_queryset(self):
|
||||
return super(TransmitterApprovedManager, self).get_queryset().filter(approved=True)
|
||||
|
@ -148,6 +161,7 @@ class DemodData(models.Model):
|
|||
payload_decoded = models.TextField(blank=True)
|
||||
payload_telemetry = models.ForeignKey(Telemetry, null=True, blank=True)
|
||||
station = models.CharField(max_length=45, default='Unknown')
|
||||
observer = models.CharField(max_length=60, blank=True)
|
||||
lat = models.FloatField(validators=[MaxValueValidator(90), MinValueValidator(-90)],
|
||||
default=0)
|
||||
lng = models.FloatField(validators=[MaxValueValidator(180), MinValueValidator(-180)],
|
||||
|
@ -157,13 +171,7 @@ class DemodData(models.Model):
|
|||
class Meta:
|
||||
ordering = ['-timestamp']
|
||||
|
||||
@property
|
||||
def qthlocation(self):
|
||||
try:
|
||||
qth = gridsquare(self.lat, self.lng)
|
||||
except:
|
||||
qth = 'Unknown'
|
||||
return qth
|
||||
|
||||
def __unicode__(self):
|
||||
return 'data-for-{0}'.format(self.satellite.norad_cat_id)
|
||||
|
||||
post_save.connect(_gen_observer, sender=DemodData)
|
||||
|
|
Loading…
Reference in New Issue