相关疑难解决方法(0)

django rest框架通过POST创建嵌套对象"模型"

我正在尝试POST一个新的嵌套对象,问题只是创建"顶部"对象(播放列表),但不要创建"ChannelItem"...

我的模特:

class Playlist(models.Model):
    provider = models.IntegerField()
    channel_id = models.CharField(max_length=100)
    channel_version = models.CharField(blank=True, max_length=100)
    start = models.DateTimeField()
    url = models.CharField(max_length=500)


class ChannelItem(models.Model):
    playlist = models.ForeignKey(Playlist, editable=False, related_name='channelitems')
    content_id = models.CharField(max_length=100)
    content_version = models.CharField(blank=True, max_length=100)
Run Code Online (Sandbox Code Playgroud)

我的序列化器:

class ChannelItemSerializer(serializers.ModelSerializer):
    class Meta:
        model = ChannelItem
        fields = ('content_id', 'content_version')
        exclude = ('id')
        depth = 1


class PlaylistSerializer(serializers.ModelSerializer):

    class Meta:
        model = Playlist
        fields = ('id', 'provider', 'channel_id', 'channel_version', 'start', 
                  'url', 'channelitems')
        depth = 2

channelitems = ChannelItemSerializer()
Run Code Online (Sandbox Code Playgroud)

我使用curl发布以下数据:

'{"provider":125,"channel_id":"xyz", "channel_version":"xsqt", 
"start":"2012-12-17T11:04:35","url":"http://192.168.1.83:8080/maaaaa",
"channelitems":[{"content_id":"0.flv", "content_version":"ss"}, …
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

25
推荐指数
2
解决办法
2万
查看次数

标签 统计

django ×1

django-rest-framework ×1