我的用户将传感器测量值上传到django后端。在上传之前,他们会通过回叫发布一些外键元数据,例如模型中的Sensorposition和Sensorname
class Sensorname(models.Model):
name = models.CharField(max_length=255)
class Sensorposition(models.Model):
name = models.CharField(max_length=255)
有时候他们想上传一个压缩文件,其中包含来自多个不同传感器的测量结果,并且他们想为其发布一个传感器注册表,其中包含每个被测量传感器的名称,位置和description.pdf:>
Sensor-Registry-Name
Sensor1name Sensor1positions Sensor1description.pdf
Sensor2name Sensor2positions Sensor2description.pdf
...
我想出了具有Sensor类的解决方案
class Sensor(models.Model):
sensorname= models.ForeignKey(Sensorname)
sensorpositions = models.ManyToManyField('Sensorposition')
description_pdf = models.FileField(...)
然后可以将其添加到如下所示的SensorRegistry
class SensorRegistry(models.Model):
registryname=models.CharField(max_length=255)
sensors = models.ManyToManyField('Sensor')
但是,如果在不同的位置使用相同的传感器,例如用户首先必须使用[“ front”]而不是[“ middle”,“ left”]创建一个具有相同Sensorname和Sensordescription但位置不同的新Sensor。
编辑:因此,基本上,我想从Sensor类中删除sensorposition,并允许为给定的SensorRegistry注册所需数量的Sensor实例,但我也想分别在注册表中为每个Sensor注册一个Sensorposition