Django 表单:如何在表单验证中引用现有的对象字段值?



所以我正在创建一个Django应用程序,我希望它能在我的学校使用。这意味着我有教师和学生的用户,以及这些帐户的不同权限。我已经设置了它,以便每个帐户都有一个self.teacher属性,这是一个布尔值。因此,对于学生帐户,self.teacher 将是 False,对于教师,self.teacher 将是 True。

我的应用还包含一个配置文件页面,此页面具有编辑配置文件功能。在我的应用程序中,我希望用户能够编辑他们的成绩等。现在,我已经设置了它,以便年级可以成为以下选项: - 10 - 11 - 12 - 不适用 学生只能选择一个数字,而教师可以选择N/A。因此,我希望有一个表单验证(验证成绩字段),检查提交表单的用户是否是学生,如果是,则检查他们是否未选择 N/A。如果他们选择了 N/A,则验证应引发错误。

关于如何使用 Django 表单实现这一点的任何想法?

如果您不希望学生选择给定值(此处为:"N/A"),最好的方法是从选择列表中删除此值。在表单的__init__方法中,检查表单实例是否为学生,如果是,请从选项列表中删除"N/A"值。

最新更新