我正在尝试为OneToOne油田创建基本的积垢操作。 用户在登录时不需要设置配置文件。当需要时如何创建/更新/删除概要文件(假设用户已经在数据库中)?在
我的模型是Django REST的默认用户模型,并且:
class UserProfile(models.Model):
user = models.OneToOneField(User)
location = models.CharField(max_length=50,blank=True)
title = models.CharField(max_length=80,blank=True)
#picture = models.ImageField(upload_to='user_imgs', blank=True)
website = models.URLField(blank=True)
我的视图集是:
^{pr2}$并序列化:
class UserSerializer(serializers.HyperlinkedModelSerializer):
class Meta:
model = User
email = serializers.EmailField()
fields = ('id','username', 'email', 'first_name', 'last_name')
class UserProfileSerializer(serializers.HyperlinkedModelSerializer):
user_id = serializers.CharField(source='user.id')
class Meta:
model = UserProfile
fields = ('user_id', 'location','title','website')
我相信您希望将配置文件创建限制为当前登录的用户。您可以过滤当前用户的配置文件查询集,这样登录的用户只能访问该用户的配置文件。在
您将
^{pr2}$user
字段设为只读,并保存在上面的方法perform_create
中,并始终分配给当前用户。在它应该专注于定义}。在
view
如何接收请求和处理原始数据,而不是字段定义的model
和{我给您一个基本
User
操作的CRUD示例作为参考:lu=LibraryUser(library_membership_number='…',user_id=user)
根据示例,我对每种方法的定义如下:
GET
:检索用户配置文件POST
:创建新用户PUT
:更改密码的用户DELETE
:删除用户因此,它将为
user
实例实现基本的crudapi。在我希望它能帮助你设计api。在
如果您还不知道如何操作
^{pr2}$model
,我将详细介绍这个示例:相关问题 更多 >
编程相关推荐