我尝试通过从相关表中获取最大值来动态验证字段。 课程模型有一个名为年的字段,即持续时间。因此,在选择特定课程时,年字段的值应介于1和课程持续时间之间。
更新:现在它返回错误 int()参数必须是字符串或数字,而不是'课程' 。
class SelectCourseYear(forms.ModelForm):
class Meta:
model = Student
fields = ['course', 'year']
def clean_year(self):
course = self.cleaned_data.get('course')
year = self.cleaned_data.get('year')
course_years = Course.objects.get(pk=course).years
if ((year <= 0) and (year > course_years)):
raise forms.ValidationError('Error. Check year of studies.')
return course
答案 0 :(得分:1)
你的意思是:
(year <= 0) or (year > course_years)