Python+Django REST FrameworkでAPIを作ってみた2(登録処理)
はじめに
前回はインストール~プロジェクト作成~検索処理まででしたが、登録処理について記載します。
ビュー
シリアライザでリクエストのデータをモデルの形式に変換し、バリデーション後にserializer.saveで保存するだけで登録できます。
def post(self, request, *args, **kwargs):
serializer = PokemonListSerializer(data=request.data)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status.HTTP_201_CREATED)
def post(self, request, *args, **kwargs):
serializer = PokemonNameListSerializer(data=pokemonNames)
serializer.is_valid(raise_exception=True)
serializer.save()
return Response(serializer.data, status.HTTP_201_CREATED)
シリアライザ
シリアライザした結果をデータを登録用に編集したい場合、createメソッドで登録処理を記述する事ができます。
def create(self, validated_data):
pokemon = Pokemon.objects.get(pk=validated_data['id'])
pokemonName = PokemonName.objects.create(
id=validated_data['id'],
local_language_id=validated_data['local_language_id'],
name=validated_data['local_language_id'],
form_name=validated_data['form_name'],
pokemon_id=pokemon.id)
return pokemonName
ディスカッション
コメント一覧
まだ、コメントがありません