マッパーの作成
マッパー
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()
参考
- 横瀬明仁,『現場で使える Django の教科書《基礎編》』,2018.
- 4.3.3 モデルオブジェクトを dict に変換する