()模型的方法我試圖重寫保存()方法,所以只有創建者和管理員能夠以更新模型字段值:重寫節省權限
if not self.pk:
super(Shastra, self).save(*args, **kwargs)
else:
if (self.person == args[0].user) or (self.person.is_superuser):
super(Shastra, self).save(*args, **kwargs)
雖然更新很傳遞請求保存方法爲
def edit(request, shastra_id):
shastra_id = int(shastra_id)
shastra = Shastra.objects.get(pk = shastra_id)
if request.method == 'POST':
form_shastra_edit = ShastraEditForm(request.POST, instance = shastra)
if form_shastra_edit.is_valid():
form_shastra_edit.save(request)
return HttpResponseRedirect('/edited/successfully')
else:
form_shastra_edit = ShastraEditForm(instance = shastra)
但是我得到「元組索引超出範圍」錯誤。這有什麼問題?
我覺得ARGS [0]。用戶是request.user是相同的,因爲我通過「請求」在save()中。請幫助 –
讓我知道,如果我可以澄清更多的問題。 –
顯示整個'save'方法,包括聲明。 –