Django模型注册

时间:2019-05-19 07:33:03

标签: django django-rest-framework

我的用户将传感器测量值上传到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

0 个答案:

没有答案