2013-08-12 4 views
1

self.request.user의 데이터를 사용하여 업데이트 양식을 초기화하는 자체 get_object 메서드를 만들었습니다.django auth_user 용 UpdateView

다음 코드는 usernameemail 대신 auth_user의 모든 필드를 제공합니다.

내가 뭘 잘못하고 있니?

class UserUpdateView(UpdateView): 
    model = User 
    fields = ['username', 'email'] 

    def get_object(self): 
    return get_object_or_404(self.model, pk=self.request.user.id) 

답변

2

fields 속성 isn't supported in Django < v1.6 사용. 대신 사용자 정의 ModelForm을 제공하십시오.

# forms.py 
from django.forms import ModelForm 


class UserUpdateForm(ModelForm): 
    class Meta: 
     model = User 
     fields = ['username', 'email'] 


# views.py 
class UserUpdateView(UpdateView): 
    model = User 
    form_class = UserUpdateForm 

    # Parameters should match your superclass's parameters or have *args and **kwargs 
    def get_object(self, queryset=None): 
     return get_object_or_404(self.model, pk=self.request.user.pk) 
관련 문제