我想在此问题上提供一些帮助,我想通过readonly
设置管理get_readonly_fields
中的字段,具体取决于型号APP_STATUS
我的代码:
def get_readonly_fields(self, request, obj=None):
if obj.APP_STATUS != 1 :
return self.readonly_fields + ['PRE_FINAL_INTERVIEW_EXAM_SCORE', 'PRE_FINAL_INTERVIEW_EXAM_SCORE_STATUS', 'COMMENT_ON_INITIAL_EVALUATION']
elif obj.APP_STATUS != 4 :
return self.readonly_fields + ['POST_TRAINING_EVALUATION_EXAM_SCORE', 'POST_TRAINING_EVALUATION_EXAM_SCORE_STATUS', 'COMMENT_ON_TRAINING_EVALUATION']
return self.readonly_fields
问题是只有第一个if
被渲染为只读,我做错了什么?提前谢谢。
答案 0 :(得分:0)
使用if
无法完成!=
分支,因为条件并不相互排斥:让我们说obj.APP_STATUS = 2
,此验证条件if obj.APP_STATUS != 1
和if obj.APP_STATUS != 4
以及将首先运行的条件。