Class based view extending UpdateView not saving form correctly

Im trying to save a form using UpdateView in Django 1.3 and seemed to have run into a problem. When I am saving the form, it POST's to the current URL and the success url is the same url.

When saving the form, the data seems to be changed because all the fields on the page are updated, but when I refresh, everything seems to revert.

The form is a Model Form and here is my view:

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()

I dont see what could be going wrong, seeing as Django saves the form through the UpdateView class and the Mixin's it extends. Has anyone run into this problem before?

6
задан Omar Estrella 5 May 2011 в 15:17
поделиться