我是否应该使用clean()以Django形式获取提供的产品ID的产品?

时间:2019-07-01 08:10:32

标签: django django-forms django-validation

在Django中从Product函数中获取提供的Product ID的clean()对象在语义上是正确的,还是应该在其他地方执行此操作?

forms.py

def clean_product(self):
    product_id = self.cleaned_data['product']

    try:
        product = Product.objects.get(id=int(product_id))
    except ValueError:
        raise ValidationError('Invalid value')

    return product

views.py

def submit_new(request):
    status = 'fail'

    if request.method == 'POST':
        form = NewBForm(request.POST)

        if form.is_valid():
            ...    
            b = form.save(commit=False)
            boost.save()

            status = 'success'

    return JsonResponse({'status': status})

0 个答案:

没有答案