Django: получить набор запросов для вложенных объектов в представлении Retrieve API - PullRequest
0 голосов
/ 28 января 2019

Я создаю приложение Django с помощью django-rest-framework и использую djongo для подключения к MongoDB.У меня есть вложенная модель как таковая:

class Group(models.Model):
    group_code = models.CharField(
        max_length=15,
        blank=False,
        unique=True
    )

    users = models.ArrayModelField(
        model_container=User
    )

class User(models.Model):
    name = models.CharField(
        max_length=100
    )

    user_code = models.CharField(
        max_length=32,
        default=hex_uuid,
        editable=False
    )

    class Meta:
        abstract = True

Я пытаюсь настроить представление для получения пользователя по следующему URL:

urlpatterns = {
    url(r'^user/(?P<group_code>[\w]+)/(?P<user_code>[\w]+)/$',
        UserDetail.as_view(), name='user-detail')
}

По сути, я хочу представлениеотображать только информацию о пользователе, а не информацию о группе.Это не сработало, но я попытался:

class UserDetail(generics.RetrieveUpdateDestroyAPIView):
    serializer_class = UserFullSerializer

    def get_queryset(self, *args, **kwargs):
        return Group.objects.get(team_code=self.kwargs['group_code']).users

    lookup_field = 'user_code'
    lookup_url_kwarg = 'user_code'

Однако users в данном случае - это обычный список, а не QuerySet.Поэтому атрибут lookup_field работает неправильно.Любые мысли о том, как получить доступ к вложенному списку users типа User как QuerySet, чтобы это представление могло работать должным образом?Или я неправильно подхожу к этому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...