from django.db import models from apps.main.models import Configuration #from json_field import JSONField from django.core.validators import MinValueValidator, MaxValueValidator from apps.main.models import Device, Experiment from files import read_json_file # Create your models here. class CGSConfiguration(Configuration): freq0 = models.FloatField(verbose_name='Frequency 0',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)], blank=True, null=True) freq1 = models.FloatField(verbose_name='Frequency 1',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)], blank=True, null=True) freq2 = models.FloatField(verbose_name='Frequency 2',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)], blank=True, null=True) freq3 = models.FloatField(verbose_name='Frequency 3',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)], blank=True, null=True) #jfreqs = JSONField(default={"frequencies":[{"f0":freq0,"f1":freq1,"f2":freq2,"f3":freq3}]}, blank=True) def verify_frequencies(self): return True def update_from_file(self, fp): kwargs = read_json_file(fp) if not kwargs: return False self.freq0 = kwargs['freq0'] self.freq1 = kwargs['freq1'] self.freq2 = kwargs['freq2'] self.freq3 = kwargs['freq3'] return True class Meta: db_table = 'cgs_configurations'