0

次のように、UserResource と ChannelResource の 2 つのリソースがあります。

class ChannelResource(ModelResource):

    class Meta:
        queryset = Channel.objects.all()
        resource_name = 'channels'


class UserResource(ModelResource):
    channels = fields.ToManyField(ChannelResource, 'channels', full=True)
    stories = fields.ToManyField('core.api.StoryResource', 'stories', full=True)

    class Meta:
        queryset = User.objects.all()
        resource_name = 'users'

単一のユーザーに関するユーザー リストと情報を取得できます (そのユーザーが所有するチャンネルを含む)。

http://localhost/api/users/1/?format=json&limit=0
{
  channels: [
  {
    id: 1,
    identifier: "default",
    name: "default",
    resource_uri: "/api/v1/channels/1/"
  }],
  id: 1,
  name: threejeez
}

しかし、ユーザーのチャンネル リストを取得しようとすると、エラーが発生します。

http://localhost/api/users/1/channels/?format=json&limit=0
error_message: "Invalid resource lookup data provided (mismatched type)."

上記の json から、リソースが api/channels/ にあることがわかりますが、api/users/1/channels に配置したいと考えています。どうすればこれを達成できますか?

ありがとう!

4

1 に答える 1