TastyPie - фильтрация по связанным ресурсам - PullRequest
0 голосов
/ 22 января 2019

Допустим, у меня есть два ресурса TastyPie:

class LicenseResource(ModelResource):
    ...

class UserResource(ModelResource):

    license = fields.ForeignKey(LicenseResource, 'license', full=False, null=True, blank=True)
    filtering = { "license": ALL_WITH_RELATIONS }
    ...

Предположим, что каждому пользователю назначена одна лицензия.Допустим, пользователь (назначенный лицензии с id = 1) делает следующий запрос для получения всех пользователей по лицензии № 2:

/accounts/api/v1/user/?license__id=2

Этот пользователь не назначен этой лицензии, поэтому он не долженбыть в состоянии выполнить этот запрос.

Как я могу применить фильтрацию, чтобы ограничить пользователей фильтрацией только по лицензии, которой они назначены?Я читал документацию, но мне трудно понять, как с этим справиться.

Спасибо

1 Ответ

0 голосов
/ 15 февраля 2019

Попробуйте:

class LicenseResource(ModelResource):

    class Meta:
        filtering = {'id': ALL}
        ...

class UserResource(ModelResource):

    license = fields.ForeignKey(LicenseResource, 'license', full=False, null=True, blank=True)

    class Meta:
        filtering = { "license": ALL_WITH_RELATIONS }
        ...
...