我試圖創建OneToOne場基本的CRUD操作。 不需要用戶設置的配置文件時,如何創建/更新/需要時刪除配置文件(假設用戶已經在DB)?Django的REST:創建CRUD操作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)
我Viewsets是:
class UserViewSet(viewsets.ModelViewSet):
queryset = User.objects.all()
serializer_class = UserSerializer
filter_fields = ['id', 'username', 'email', 'first_name', 'last_name']
class UserProfileViewSet(viewsets.ModelViewSet):
queryset = UserProfile.objects.all()
serializer_class = UserProfileSerializer
filter_fields = ['user_id', 'location', 'title', 'website']
而且連載:
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')
OneToOne字段在哪裏? – Mike
@Mike你會參考:https://docs.djangoproject.com/en/1。8/topics/db/examples/one_to_one /#一對一關係 –
同樣,我們可以證明它沒有什麼不同。 –