Django Rest Framework:按用户名序列化用户 ManyToMany 字段

Django Rest Framework: Serialize User ManyToMany field by username

我有一个字段:

invited_guests = models.ManyToManyField(User, blank=True)

一个要求是不允许暴露 ID,而是应该使用用户名。

如何根据用户名而不是 id 序列化此字段以创建和更新视图?

通常您会使用 PrimaryKeyRelatedField,但由于您不想暴露 id SlugRelatedField 是您想要的。这应该有效:

invited_guests = serializers.SlugRelatedField(queryset=User.objects.all(), many=True, slug_field="username")