Я пытаюсь вернуть многократный кверисет
У меня есть конечная точка с названием groups, я хочу вернуть каждому пользователю группы, которые он создал, и группы, в которых он состоит. моя модель
class Group(models.Model):
title = models.CharField(max_length=100,blank=False,default='')
project = models.ForeignKey('Project',related_name='groups',on_delete=models.CASCADE)
owner = models.ForeignKey('auth.User',related_name='group',on_delete=models.CASCADE)
member = models.ManyToManyField('auth.User',related_name='group_members')
created = models.DateTimeField(auto_now_add=True)
active = models.BooleanField(default=False)
def __str__(self):
return self.title
вот мой сериализатор
class GroupSerializer(serializers.HyperlinkedModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
class Meta:
model = Group
fields = ('url','title','owner','member','created','active','project',)
вот мое мнение
class GroupViewSet(viewsets.ModelViewSet):
"""
This viewset automatically provides `list` and `detail` actions.
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
permission_classes = (
permissions.IsAuthenticated,)
def get_queryset(self):
queryset = self.queryset
query_set = queryset.filter(owner=self.request.user)
query_set1 = queryset.filter(member=self.request.user)
return list(chain(query_set)) + list(chain(query_set1))
def perform_create(self, serializer):
serializer.save(owner=self.request.user)
Это представление работает у меня, но в экземпляре группы возвращается "detail": "Не найдено."
вот мои урлы
router = DefaultRouter()
router.register(r'users', views.UserViewSet)
router.register(r'projects', views.ProjectViewSet)
router.register(r'tasks', views.TaskViewSet)
router.register(r'groups', views.GroupViewSet)
# The API URLs are now determined automatically by the router.
# Additionally, we include the login URLs for the browsable API.
urlpatterns = [
re_path(r'^', include(router.urls))
]
извините мой английский не очень хорош на всех надеюсь вы понимаете меня и надеюсь вы поможете мне спасибо