Django createview权限

时间:2018-06-22 10:02:02

标签: django

我有一个模型的createview。它创建的对象基于先前输入的模型。

在允许createview可用之前,我如何查询以前的模型的存在?

非常感谢

2 个答案:

答案 0 :(得分:1)

在您的视图中添加form_valid并在保存之前检查记录是否退出

class CreateObject(CreateView):
    ...
    def form_valid(self, form):
        # prevent initial save   
        self.object = form.save(commit=False)
        #query for existing record
        existing_record = Record.objects.filter(...)
        if existing_record:
            # send error message and redirect back to 
            messages.add_message(request, messages.ERROR, 'need existing objects...')
            return redirect('app:view') 
        else
            self.object.save()
            return HttpResponseRedirect(self.get_success_url())  

答案 1 :(得分:1)

感谢您的回复。确实可以,但是希望防止用户提交表单,以免浪费时间。

想出了这个似乎可以完成工作的mixin:

React.Component