我正在尝试在Django中创建一个项目管理应用程序 当用户输入要在一种模型中完成的工作量时,在另一种模型中,他列出了工作进度。
我有两个BOQ模型和DPR boq模型
choicestype=(('start','start'),('finish','finish'))
class boqmodel(models.Model):
code = models.IntegerField()
building = models.ForeignKey(building, on_delete=models.SET_NULL, null=True)
level = models.ForeignKey(level, on_delete=models.SET_NULL, null=True)
activity = models.ForeignKey(activity, on_delete=models.SET_NULL, null=True)
subactivity = models.ForeignKey(sub_activity, on_delete=models.SET_NULL, null=True)
duration = models.IntegerField()
linkactivity = models.CharField(max_length=300,null=True,blank=True)
linktype = models.CharField(choices=choicestype,max_length=300,null=True,blank=True)
linkduration = models.IntegerField(default=0)
plannedstart = models.DateField(null=True,blank=True)
plannedfinish = models.DateField(null=True,blank=True)
actualstart = models.DateField(null=True,blank=True)
actualfinish = models.DateField(null=True,blank=True)
DPR
class dprmodel(models.Model):
Date=models.DateField()
Contractor=models.CharField(max_length=300)
Building = models.ForeignKey(building, on_delete=models.SET_NULL, null=True)
Level = models.ForeignKey(level, on_delete=models.SET_NULL, null=True)
Activity = models.ForeignKey(activity, on_delete=models.SET_NULL, null=True)
Subactivity = models.ForeignKey(sub_activity, on_delete=models.SET_NULL, null=True)
Status=models.CharField(choices=choicestype,max_length=300)
Labor=models.IntegerField()
两个模型都具有Building,Level,Activity,Sub Activity作为公共字段。 我在BOQ中的条目
code=1
building=A-1
Level=L-1
Activity=Activity-1
Subactivity-Subactivity-1
duration=2
linkactivity=null
linktype=null
linkduration=null
planned start=01-01-2019(as linkactivity=null)
plannedfinish=03-01-2019(planned start+duration)
我的DPR条目
Date :10-1-2019
contractor :A
building=A-1
Level=L-1
Activity=Activity-A
Subactivity=Subactivity-A
Status =Start
Labor=2
我需要在boqmodel中填充“实际开始日期”,以使boqmodel.building = dprmodel.building和boqmodel.level = dprmodel.level和boqmodel.activity = dprmodel.activity和boqmodel.subactivity = dprmodel.subactivity和dpr。状态=开始。如果存在上述条件,那么我想通过连接建筑物,级别,活动和子活动在两个模型中创建一个新字段。然后我可以使用新创建的字段来加入两个模型。任何帮助将不胜感激。