Внедрение структурного Json файла в Django Rest Framework для создания Rest API
Мне интересно, могу ли я создать модель, которая получает все это дерево Json, сохраняя эту структуру.
У меня уже есть 3 отдельные модели с 3 типами: MP & TP & VFD, но я хочу сгруппировать их в 1 модель, которая уважает эту структуру JSON.
какую структуру мне нужно создать в моем models.py?
вот мой models.py :
infos_VFD= (
('VFD','VFD'),
('MP','MP'),
('TP','TP'),
)
class Monophase (models.Model):
Monophase_Type=models.CharField(max_length=20,choices=infos_VFD)
Monophase_Time= models.DateTimeField()
MonoPhase_Name=models.CharField(max_length=20)
Serial_Number=models.CharField(max_length=20)
Plant_Name=models.CharField(max_length=20)
Gateway_Name=models.CharField(max_length=20)
Adress=models.IntegerField()
baud_rate=models.FloatField()
Voltage=models.FloatField()
Current=models.FloatField()
Active_Power= models.FloatField()
Apparent_Power=models.FloatField()
FP=models.FloatField()
frenquency=models.FloatField()
class Triphase(models.Model):
Triphase_Type=models.CharField(max_length=20,choices=infos_VFD)
Triphase_Time= models.DateTimeField()
Triphase_Name=models.CharField(max_length=20)
Serial_Number=models.CharField(max_length=20)
Plant_Name=models.CharField(max_length=20)
Gateway_Name=models.CharField(max_length=20)
Adress=models.IntegerField()
Baud_Rate=models.FloatField()
UA=models.FloatField()
UB=models.FloatField()
UC=models.FloatField()
UAB=models.FloatField()
UBC=models.FloatField()
UAC=models.FloatField()
IA=models.FloatField()
IB=models.FloatField()
IC=models.FloatField()
frequency=models.FloatField()
Pa=models.FloatField()
Pb=models.FloatField()
Pc=models.FloatField()
Pt=models.FloatField()
Qa=models.FloatField()
Qb=models.FloatField()
Qc=models.FloatField()
Qt=models.FloatField()
Sa=models.FloatField()
Sb=models.FloatField()
Sc=models.FloatField()
St=models.FloatField()
FPa=models.FloatField()
FPb=models.FloatField()
FPc=models.FloatField()
FPt=models.FloatField()
THDV=models.FloatField()
THDI=models.FloatField()
max_demand=models.FloatField()
count_E=models.FloatField()
count_Er=models.FloatField()
class VFD(models.Model):
VFD_Type=models.CharField(max_length=20,choices=infos_VFD)
VFD_Time= models.DateTimeField()
VFD_Name=models.CharField(max_length=20)
Serial_Number=models.CharField(max_length=20)
Plant_Name=models.CharField(max_length=20)
Gateway_Name=models.CharField(max_length=20)
Adress=models.IntegerField()
baud_rate=models.FloatField()
c00=models.FloatField()
c01=models.FloatField()
c02=models.FloatField()
c03=models.FloatField()
c04=models.FloatField()
c06=models.FloatField()
c07=models.FloatField()
c12=models.FloatField()
c13=models.FloatField()
c14=models.FloatField()
c15=models.FloatField()
c16=models.FloatField()
c17=models.FloatField()
c18=models.FloatField()
c19=models.FloatField()
c20=models.FloatField()
c21=models.FloatField()
c23=models.FloatField()
c24=models.FloatField()
c25=models.FloatField()
c27=models.FloatField()