我试图在 Django 1.3 中使用 UpdateView 保存表单,但似乎遇到了问题。当我保存表单时,它会发布到当前 URL,并且成功 url 是相同的 url。
保存表单时,数据似乎已更改,因为页面上的所有字段都已更新,但是当我刷新时,一切似乎都恢复了。
该表格是一个模型表格,这是我的观点:
class UserProfileView(UpdateView):
context_object_name = 'profile'
def get_template_names(self):
return ['webapp/user_profile.html']
def get_queryset(self):
pk = self.kwargs.get('pk', None)
if pk is not None:
user = User.objects.get(pk=pk)
else:
raise AttributeError(u"Could not locate user with pk %s"
% pk)
if user.contributor_profile.all():
queryset = Contributor.objects.filter(user__pk=pk)
else:
queryset = Member.objects.filter(user__pk=pk)
return queryset
def get_object(self, queryset=None):
if queryset is None:
queryset = self.get_queryset()
return queryset.get()
我看不出有什么问题,因为 Django 通过 UpdateView 类保存表单并且它扩展了 Mixin。有没有人遇到过这个问题?