有几件事要注意。 首先,在示例中没有显式的through表。所以你可以 跳过那部分。 第二,您正在尝试使用更复杂的嵌套序列化程序 而不是你想要达到的目标。 您可以使用PrimaryKeyRelatedField简单地读/写相关id:
class MasterSerializer(serializers.ModelSerializer):
skills_ids = serializers.PrimaryKeyRelatedField(many=True, read_only=False, queryset=Skill.objects.all(), source='skills')
Which should be able to read/write:
{id: 123, first_name: "John", "skill_ids": [1, 2, 3]}
注意,从JSON的“skill\u id”到模型的“skills”的映射是由使用可选参数源