Примечание: я новичок в django rest framework. Первый проект с ней. Моя модель имеет внешний ключ, который в сериализаторе я связываю с помощью SlugRelatedField. Эта связанная модель представляет собой небольшой список опций, которые можно выбрать, однако то, что доступно для выбора, зависит от пользователя (или, более конкретно, от группы пользователей).
Я нашел этот вопрос, который говорит, как ввести пользователя в серилайзер. Но это, похоже, не помогает, поскольку определение поля - stati c правильно?
Удаление нерелевантных частей, которые у меня есть:
class MyModelSerializer(serializers.ModelSerializer):
sequence = serializers.SlugRelatedField(
many=False,
read_only=False,
slug_field='prefix',
queryset=Sequence.objects.filter(active=True,
sequence_groups__sequence_group_id__in=SequenceGroup.objects.filter(users=serializers.CurrentUserDefault()))
)
Этот запрос работает, поскольку я также использую его в нормальная форма. Когда я запускаю dev. сервера, я получаю исключение:
TypeError: int() argument must be a string, a bytes-like object or a number, not 'CurrentUserDefault'
Итак, мой вопрос в том, как я могу получить текущего пользователя в запросе SlugRelatedField?