API 経由で公開する 2 つのモデルがRegionValueありForeignKeyますMapAnswer。エンドポイント内に sa フィールドrest_frameworkを作成することによって構築された API でこれを表現したいと考えています。私のシリアライザーは次のようになります。RegionValueMapAnswerrest_framework
class RegionValueSerializer(serializers.ModelSerializer):
class Meta:
model = RegionValue
fields = ('region_id', 'value')
class MapAnswerSerializer(serializers.ModelSerializer):
regionvalue_set = RegionValueSerializer(many=True, allow_add_remove=True, required=False)
declined = serializers.BooleanField(required=False)
class Meta:
model = MapAnswer
fields = ('declined', 'regionvalue_set')
これは読み取りの観点からは正常に機能しますが、 を更新すると、既存の RegionValue にリンクするのではなく、常にregionvalue_set新しい が作成されるという問題があります。RegionValueフィールドに「id」を含めると、RegionValueSerializerこの問題は解決しますが、主キーを公開したくないです! は、theirおよびthey が関連付けられているRegionValueによって一意に決定されます。region_idMapAnswer