Django的ModelForm怎么根据一个字段的值来筛选另一个字段的值呢?

新手上路,请多包涵

各位好: 我现在有个需求,就是要通过一个字段确定另一个字段的取值范围。比如说,模型Work中dep表示所属部门,要从该部门中选择一个执行人people。但是dep是不会变化的。因此,创建Work的时候,只需要选择Work的名称和所属dep就可以了,然后还为Work指定了一个默认执行人people。

Work(models.Model):
    dep = models.ForeignKey(Dep,on_delete=models.CASCADE,verbose_name="部门")
        people = models.ForeignKey(User,on_delete=models.CASCADE,verbose_name="默认执行人")

        def possibleP(self):
            return User.objects.filter(dep=self.dep)

然后到实际指派任务的时候,就是另外一个模型WorkReal了,它需要根据Work所在部门,实际指派一个people,有时候就不是Work中默认的people了,另外,还得加一堆比如说,需要的时间,到期日之类的东西。

WorkReal(models.Model):
     w = modelsForeignKey(Work, on_delete=models.CASCADE,verbose_name="任务名")
         people=models.ForeignKey(User,on_delete=models.CASCADE,verbose_name="执行人")
         time = models.IntegerField(verbose_name="工时")
         duedate = models.DateField(auto_now_add=True,verbose_name="到期日")

         def possibleP(self):
              return self.m.possibleP()

那么,我该怎么用ModelForm来写WorkReal对应的表单呢?尤其是people部分,希望能从w中直接获取下拉框中可选择的people项。

还是说ModelForm没办法实现这样的功能,我得想其他办法?

阅读 2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题