Django - Фильтр набора запросов с помощью поля другого модала

У меня есть два модала: Group и GroupContents.

Модальная группаСодержание:

class GroupContents(models.Model):
    group = models.ForeignKey(Group, on_delete=models.CASCADE, null=True, blank=True)
    content= models.TextField(max_length=180)

Модальная группа:

class Group(models.Model):
    name = models.CharField(max_length=255, unique=True)
    description = models.TextField(blank=True, max_length=80, default='')
    private= models.TextField(blank=False, default='0')

Я хочу отфильтровать мой набор запросов GroupContents как освобожденный объект Group, а не как частный. Я не знаю, как это решить. Я пробовал это, но ничего не вышло:

class GroupContentsViewSet(viewsets.ModelViewSet):

    serializer_class = GroupContentsSerializer
    authentication_classes = (JSONWebTokenAuthentication,)
    permission_classes = (IsAuthenticatedOrReadOnly,)

    def get_queryset(self):
        queryset = GroupContents.objects.filter(self.group.secret=0)
        return queryset

Я не знаю, как подойти. Спасибо большое...

Вы можете .filter(…) [Django-doc] с:

class GroupContentsViewSet(viewsets.ModelViewSet):

    serializer_class = GroupContentsSerializer
    authentication_classes = (JSONWebTokenAuthentication,)
    permission_classes = (IsAuthenticatedOrReadOnly,)

    def get_queryset(self):
        return GroupContents.objects.filter(group__private='0')

Однако странно выглядит использование TextField, а не простого BooleanField [Django-doc].


Примечание: обычно модели Django дается сингулярное имя, поэтому GroupContent вместо GroupContents.

Вернуться на верх