1
0
mirror of https://github.com/daniviga/bite.git synced 2025-04-18 22:00:11 +02:00

Add transport internal field to telemetry

This commit is contained in:
Daniele Viganò 2020-06-08 22:08:41 +02:00
parent 72a273f50f
commit d1f27b2e6f
Signed by: dani
GPG Key ID: DB49AFC03C40EE02
3 changed files with 28 additions and 1 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.0.6 on 2020-06-08 20:07
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('telemetry', '0006_auto_20200603_1317'),
]
operations = [
migrations.AddField(
model_name='telemetry',
name='transport',
field=models.CharField(choices=[('http', 'http'), ('mqtt', 'mqtt')], default='http', max_length=4),
),
]

View File

@ -8,6 +8,9 @@ from api.models import Device
class Telemetry(models.Model):
device = models.ForeignKey(Device, on_delete=models.CASCADE)
time = models.DateTimeField(primary_key=True, auto_now_add=True)
transport = models.CharField(max_length=4,
choices=[('http', 'http'), ('mqtt', 'mqtt')],
default='http')
clock = models.IntegerField(
validators=[MinValueValidator(0)],
null=True)

View File

@ -11,4 +11,10 @@ class TelemetrySerializer(serializers.ModelSerializer):
class Meta:
model = Telemetry
fields = ('time', 'device', 'clock', 'payload',)
fields = ('time', 'device', 'clock', 'transport', 'payload',)
read_only_fields = ['transport']
def create(self, validated_data):
validated_data['transport'] = 'http'
telemetry = Telemetry.objects.create(**validated_data)
return telemetry