【发布时间】:2022-01-23 22:50:40
【问题描述】:
任务是创建一个 API 端点“/updateUser”来更新用户信息。 API 请求应将 User 对象作为输入并更新用户。
我的模型是这样的:
class UserModel(AbstractUser):
name = models.CharField(max_length=50)
email = models.EmailField(max_length=50, unique=True, primary_key=True)
phone = models.CharField(max_length=10, unique=True)
gender = models.CharField(max_length=10, null=True)
dob = models.DateField(null=True)
username = models.CharField(max_length=50, unique=True)
REQUIRED_FIELDS = []
序列化器是:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = UserModel
fields = ['id','name','username','email','phone','password']
extra_kwargs = {
'password': {'write_only': True}
}
def create(self, validated_data):
password = validated_data.pop('password', None)
instance = self.Meta.model(**validated_data)
if password !=None:
instance.set_password(password)
instance.save()
return instance
网址是:
from django.urls import path
from . views import RegisterView, UpdateUserView
urlpatterns = [
path('register/', RegisterView.as_view()),
path('updateUser/', UpdateUserView.as_view())
]
现在,如何为此创建以对象为输入的视图并更新它?!
【问题讨论】:
-
请附上您的视图文件:)
标签: python django rest django-rest-framework