我正在检查某个id是否存在。我正在用一种干净的方法检查它。你知道吗
当我键入一个“正确的”(exists)号码时,它告诉我'int' object is not subscriptable
当我键入一个错误的(不存在的)号码时,它告诉我local variable 'result' referenced before assignment
原因是我不能检查一个id(从数据库)?你知道吗
我的代码:
class IDForm(forms.Form):
ID = forms.IntegerField(required=True)
def clean(self):
id = self.cleaned_data['ID']
try:
result = pmod.RentalInventory.objects.get(id=id)
except result.DoesNotExist:
raise forms.ValidationError("Invalid Number")
return self.cleaned_data['ID']
我做了一些更改:现在当我键入正确的数字时,它将通过。当我输入错误的号码时,它会显示RentalInventory matching query does not exist
。你知道吗
def clean_email(self):
result = pmod.RentalInventory.objects.filter(email=self.cleaned_data['ID'])
if result.count() < 1:
raise forms.ValidationError("Invalid number")
return self.cleaned_data['ID']
clean
方法应该always返回清理数据的完整集合。你知道吗try
节中不存在时,result
未设置,因此不能在exception
节中使用它。你知道吗因此,请将代码更改为:
相关问题 更多 >
编程相关推荐