本文介绍了如何检查Django(django-admin)中的值转换?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个状态字段,其中有3个值:pending,activated
并被拒绝。如果我正在更改状态的值,我想要
有一个激活的检查不能更改为待处理。 I
不想为此写入存储过程。保存前可以在Django中先前获得
以前的值?
I have a status field which has 3 values: pending, activatedand rejected. If I am changing the value of status I want tohave a check that activated cannot be changed to pending. Ido not want to write stored-procs for this. Can I have theprevious value in Django before saving?
表示新旧值。
推荐答案
def clean_status(self):
status = self.cleaned_data.get('status')
if status == 'pending':
if self.instance and self.instance.status == 'activated':
raise forms.ValidationError('You cannot change activated to pending')
return status
此方法将添加到表单
子类。它的名字是 clean_FIELD_NAME
。
This method is to be added in a Form
subclass. Its name is clean_FIELD_NAME
.
clean_data
包含以前的值。新值存储在 self.instance
中。
cleaned_data
contains previous values. New value is stored in self.instance
.
或者, validate() code>方法可以添加到
forms.Field
子类中。
这篇关于如何检查Django(django-admin)中的值转换?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!