最近写的资源策略管理,在ceilometer 中创建alarm时,name要求是不能重复的,所以在创建policy的时候,要对policy的name字段进行验证,而django中正好拥有强大的表单数据验证的功能。
#这是policy中的name字段,在表单的数据进行提交的时候,所有的数据流会经过clean()这个函数
name = forms.CharField(max_length=255, label=_("Name"))
#在clean函数中先取出表单中的name字段,在从数据库里面拿到所有的数据进行检查
def clean(self):
cleaned_data = super(CreatePolicyForm, self).clean()
name = cleaned_data.get('name')
try:
policys = api.nov