Add telemetry model and fields
parent
800f00fc7f
commit
6a2e68bc33
|
@ -6,7 +6,7 @@ from django.template.loader import render_to_string
|
|||
from django.conf import settings
|
||||
from django.contrib.sites.shortcuts import get_current_site
|
||||
|
||||
from db.base.models import Mode, Satellite, Transmitter, Suggestion
|
||||
from db.base.models import Mode, Satellite, Transmitter, Suggestion, DemodData
|
||||
|
||||
logger = logging.getLogger('db')
|
||||
|
||||
|
@ -95,3 +95,13 @@ class SuggestionAdmin(admin.ModelAdmin):
|
|||
else:
|
||||
return '-'
|
||||
transmitter_data.allow_tags = True
|
||||
|
||||
|
||||
@admin.register(DemodData)
|
||||
class DemodDataAdmin(admin.ModelAdmin):
|
||||
list_display = ('id', 'data_id', 'satellite')
|
||||
search_fields = ('data_id', 'transmitter')
|
||||
readonly_fields = ('data_id', 'transmitter', 'payload')
|
||||
|
||||
def satellite(self, obj):
|
||||
return obj.transmitter.satellite
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# Generated by Django 1.9.6 on 2016-05-04 21:04
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db import migrations, models
|
||||
import django.db.models.deletion
|
||||
import jsonfield.fields
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('base', '0002_auto_20150908_2054'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.CreateModel(
|
||||
name='DemodData',
|
||||
fields=[
|
||||
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('data_id', models.PositiveIntegerField()),
|
||||
('payload', jsonfield.fields.JSONField(default=dict)),
|
||||
('transmitter', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='base.Transmitter')),
|
||||
],
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='satellite',
|
||||
name='telemetry_decoder',
|
||||
field=models.CharField(blank=True, max_length=20),
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='satellite',
|
||||
name='telemetry_schema',
|
||||
field=jsonfield.fields.JSONField(blank=True, default=dict),
|
||||
),
|
||||
]
|
|
@ -1,3 +1,4 @@
|
|||
from jsonfield import JSONField
|
||||
from shortuuidfield import ShortUUIDField
|
||||
|
||||
from django.core.validators import MinValueValidator
|
||||
|
@ -30,6 +31,8 @@ class Satellite(models.Model):
|
|||
names = models.TextField(blank=True)
|
||||
image = models.ImageField(upload_to='satellites', blank=True,
|
||||
help_text='Ideally: 250x250')
|
||||
telemetry_schema = JSONField(blank=True)
|
||||
telemetry_decoder = models.CharField(max_length=20, blank=True)
|
||||
|
||||
class Meta:
|
||||
ordering = ["name"]
|
||||
|
@ -95,3 +98,9 @@ class Suggestion(Transmitter):
|
|||
|
||||
def __unicode__(self):
|
||||
return self.description
|
||||
|
||||
|
||||
class DemodData(models.Model):
|
||||
transmitter = models.ForeignKey(Transmitter)
|
||||
data_id = models.PositiveIntegerField()
|
||||
payload = JSONField()
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
django==1.9.5
|
||||
django-shortuuidfield==0.1.3
|
||||
django-compressor==2.0
|
||||
django-jsonfield==0.9.19
|
||||
|
||||
# Configuration
|
||||
django-dotenv==1.4.1
|
||||
|
|
Loading…
Reference in New Issue