Внедрение структурного 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()
Вернуться на верх