问答

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

作者:admin 2021-07-21 我要评论

各位好: 我现在有个需求,就是要通过一个字段确定另一个字段的取值范围。比如说,模型Work中dep表示所属部门,要从该部门中选择一个执行人people。但是dep是不...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

各位好: 我现在有个需求,就是要通过一个字段确定另一个字段的取值范围。比如说,模型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没办法实现这样的功能,我得想其他办法?

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 古纳于vue按下拖动元素

    古纳于vue按下拖动元素

  • Angular 项目编译并部署生产模式

    Angular 项目编译并部署生产模式

  • element-ui   表达验证时的问题

    element-ui 表达验证时的问题

  • iOS 中的静态库的作用是什么?

    iOS 中的静态库的作用是什么?

腾讯云代理商
海外云服务器