如何解决在Django Rest框架-Modelviewset
我有json数据,必须通过一个API调用将其发布到5种不同的模型上,我们可以使用modelviewset做到这一点。
{
nesting : {
nesting_id = "<id_onlyForEDIT>",nesting_description = "<CharField_notnull>",nesting_plan_date = "<DateField_nullOK>",nesting_file = "<ImageField_nullOK>",project = "<FK_project_id_notnull>",burning_weight = "<DecimalField_nullOK>",is_production_ready = "<BooleanField_nullOK>"
}
plan_raw_material : {
plan_raw_material_id = "<id_onlyForEDIT>",nesting = "<FK_project_id_notnull>",raw_material_grade = models.ForeignKey(MaterialGrade,models.DO_NOTHING,blank=True,null=True)
raw_material_project = models.ForeignKey('Project',null=True)
raw_material_facility = models.ForeignKey(Facility,null=True)
part_type = models.ForeignKey(PartType,models.DO_NOTHING)
material_type_id = models.CharField(max_length=50)
raw_material_name = models.CharField(max_length=100)
raw_material_description = models.CharField(max_length=200,null=True)
raw_material_diameter = models.DecimalField(max_digits=15,decimal_places=3,null=True)
raw_material_length = models.DecimalField(max_digits=15,null=True)
raw_material_width = models.DecimalField(max_digits=15,null=True)
raw_material_thickness = models.DecimalField(max_digits=15,null=True)
raw_material_unit_quantity = models.DecimalField(max_digits=15,null=True)
raw_material_uom = models.CharField(max_length=25,null=True)
}
plan_scrap : {
plan_scrap_id = models.AutoField(primary_key=True)
nesting = models.ForeignKey(NestingPlan,null=True)
plan_raw_material = models.ForeignKey(PlanRawMaterial,null=True)
scrap_desc = models.CharField(max_length=250)
scrap_weight = models.DecimalField(max_digits=15,null=True)
scrap_image = models.BinaryField(blank=True,null=True)
}
plan_part : {
planning_part_id = models.AutoField(primary_key=True)
nesting = models.ForeignKey(NestingPlan,null=True)
plan_part = models.ForeignKey(Part,null=True)
plan_raw_material = models.ForeignKey('PlanRawMaterial',null=True)
}
plan_offcut : {
plan_offcut_id = models.AutoField(primary_key=True)
nesting = models.ForeignKey(NestingPlan,null=True)
raw_material_grade = models.ForeignKey(MaterialGrade,null=True)
}
}
每个部分都引用不同的表(例如,嵌套数据保存在嵌套表中,plan_raw_materia的数据与该表相关联,其他3个表也是如此)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。