Python Django:使用表单向导编辑模型并检查是否允许请求用户进行编辑

时间:2014-01-28 14:02:35

标签: python django django-formwizard

我使用from向导不仅可以创建模型,还可以编辑模型(如下所述:Django Form Wizard to Edit Model)。这工作正常,但现在我需要检查,如果允许请求用户编辑。在我的模型中,我有一个字段,因此只允许所有者编辑:

class Document(models.Model):
...
    owner = models.ForeignKey(User, editable=False)
...

你知道怎么做吗?谢谢!

1 个答案:

答案 0 :(得分:1)

您可能希望将以下内容添加到向导的get_form_initial方法中:

from django.core import exceptions

class DocumentWizard(SessionWizardView):
    # ...

    def get_form_initial(self, step):
        # ... determine document_id
        document = Document.objects.get(id=document_id)
        if self.request.user == document.owner:
            document_dict = model_to_dict(document)
            return document_dict
        else:
            raise exceptions.PermissionDenied