我有一个关于过滤检索多对多数据的问题
在模型.py在
class Team(models.Model):
name = models.CharField(blank=True, unique=True, max_length=100)
players = models.ManyToManyField(User, blank=True, related_name='players')
在sealizers.py在
^{pr2}$在视图.py在
class MyTeamListAPIView(ListAPIView):
queryset = Team.objects.all()
serializer_class = MyTeamListSerializer
permission_classes = [IsOwnerOrReadOnly]
pagination_class = ProfileLimitPagination
filter_backends = (filters.DjangoFilterBackend,)
filter_fields = ('players')
filter_class = TeamFilter
在过滤器.py在
class TeamFilter(django_filters.FilterSet):
teams = django_filters.CharFilter(
players='players__id',
lookup_type='contains',
)
class Meta:
model = Team
fields = ('players', 'teams',)
现在,我要做的是,检索我所参加的球队的名单。在
所以我想请求我的团队得到我团队的响应列表。在
我不知道确切的问题是什么,但我是django rest框架中的新成员。在
所以,请任何人都有解决方案请帮助我在我的情况下,或如果你有另一个解决方案做我想做的。在
谢谢
如果需要获取特定球员的球队列表,请使用
exact
查找,而不是contains
:也使用
field_name
作为参数,而不是players
。在如果只想显示当前用户的团队,则最好覆盖视图的
^{pr2}$get_queryset
方法:相关问题 更多 >
编程相关推荐