我有以下型号:
class Song(models.Model):
name = models.CharField(max_length=64)
def __unicode__(self):
return self.name
class UserProfile(AbstractUser):
current = models.ManyToManyField(Song, related_name="in_current", blank=True)
saved = models.ManyToManyField(Song, related_name="in_saved", blank=True)
whatever = models.ManyToManyField(Song, related_name="in_whatever", blank=True)
def __unicode__(self):
return self.get_username()
Run Code Online (Sandbox Code Playgroud)
以及序列化器:
class SongSerializer(serializers.ModelSerializer):
class Meta:
model = Song
class UserProfileSongsSerializer(serializers.ModelSerializer):
current = SongSerializer(many=True)
saved = SongSerializer(many=True)
whatever = SongSerializer(many=True)
class Meta:
model = UserProfile
fields = ("id", "current", "saved", "whatever")
Run Code Online (Sandbox Code Playgroud)
并且我正在使用UpdateAPIView:
class UserProfileSongsUpdate(generics.UpdateAPIView):
queryset = UserProfile.objects.all()
serializer_class = UserProfileSongsSerializer
Run Code Online (Sandbox Code Playgroud)
问题:我无法将歌曲(即使它已经存在于数据库中)添加到任何(当前,已保存,无论如何),我只能删除它.
curl -X PUT -d '{"current": [{"id": 1, "name": "sialalalal"}, …Run Code Online (Sandbox Code Playgroud)