View on GitHub

マッパーの作成

Home

マッパーの作成

マッパー

backend/api/online/mappers.py

class MovieMapper:
    def __init__(self, obj):
        self.obj = obj

    def as_dict(self):
        movie = self.obj
        genres = [genre.name for genre in movie.genres.all()]
        
        return {
            'id': movie.id,
            'title': movie.title,
            'year': movie.year,
            'genres': genres,
            'imdb_id': movie.imdb_id,
            'tmdb_id': movie.tmdb_id,
        }

クエリセットAPI

(recsys_full) backend$ python manage.py shell --settings config.settings.development
>>> from api.online.models import Movie, Genre
>>> from api.online.mappers import MovieMapper
>>> movie = Movie.objects.get(pk=1)
>>> MovieMapper(movie).as_dict()

参考

  1. 横瀬明仁,『現場で使える Django の教科書《基礎編》』,2018.
    • 4.3.3 モデルオブジェクトを dict に変換する