使用tastypie,我将如何在单个POST请求中创建记录和多个相关记录?在单个POST请求中创建相关记录
例如,我有这两种资源:
class SongResource(ModelResource):
playlists = fields.ToManyField('playlists.api.resources.PlaylistResource', 'playlist_set', related_name = "song", full=True)
class Meta:
queryset = Song.objects.all();
resource_name = 'song'
authorization = Authorization()
class PlaylistResource(ModelResource):
song = fields.ToOneField(SongResource, 'song', full=True)
class Meta:
queryset = Playlist.objects.all()
resource_name = 'playlist'
authorization = Authorization()
我想创建一个新的播放列表,并使用与数据POST请求一个炮打响的歌曲,像这样:
var data = JSON.stringify({
'name': 'My playlist.',
'songs': [{'title': 'Song 1'}, {'title': 'Song 2'}, {'title': 'Song 3'}]
});
这是行不通的。我被告知:“'歌'字段的数据不是URI,也不是字典,并且没有'pk'属性”。是否可以像这样一次插入一条记录?还是需要为播放列表和每首歌发送单独的请求?
我希望它可以自动完成,但这绝对可以工作。谢谢,我今天会试一试。 – 2012-07-11 23:53:59