Я создаю приложение 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, чтобы это представление могло работать должным образом?Или я неправильно подхожу к этому?