我使用from向导不仅可以创建模型,还可以编辑模型(如下所述:Django Form Wizard to Edit Model)。这工作正常,但现在我需要检查,如果允许请求用户编辑。在我的模型中,我有一个字段,因此只允许所有者编辑:
class Document(models.Model):
...
owner = models.ForeignKey(User, editable=False)
...
你知道怎么做吗?谢谢!
答案 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