[英]django UpdateView for auth_user
I created my own get_object
method to initialize an update-form with data from self.request.user
. 我创建了自己的
get_object
方法来使用self.request.user
数据初始化更新表单。
The following code gives me all fields of auth_user
instead of just username
and email
. 以下代码为我提供了
auth_user
所有字段,而不仅仅是username
和email
。
What am I doing wrong? 我究竟做错了什么?
class UserUpdateView(UpdateView):
model = User
fields = ['username', 'email']
def get_object(self):
return get_object_or_404(self.model, pk=self.request.user.id)
Using the fields
attribute isn't supported in Django < v1.6 . Django <v1.6不支持使用
fields
属性。 Instead, provide a custom ModelForm: 相反,提供自定义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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.