Generar thumbnail en Django para DRF

Recientemente para un proyecto he necesitado generar una serie de thumbnails de distintos tamaños. (Es algo bastante habitual).

Para ello, he utilizado el plugin "django-thumbs" (Algo viejuno, pero perfectamente funcional), creado por Alexis Couronne. Como requisito necesitas tener Pillow (Anteriormente PIL), es muy cómodo de utilizar, a saber:

Creamos el modelo y en lugar de ImageField utilizamos ImageWithThumbsField

from django.db import models
from django_thumbs.db.models import ImageWithThumbsField

class Person(models.Model):
    photo = ImageWithThumbsField(upload_to='images', sizes=((125,125),(200,200)))

Esto generará las imágenes de los tamaños indicados en "sizes".

Para llamar a los thumbnails generados, simplemente llamamos a someone.photo.url_200x200 y nos devolverá la URL que queremos.

Por ejemplo en un serializer de Django Rest Framework:

person_thumbnail = serializers.SerializerMethodField('thumbnail')
def thumbnail(self, obj):
    item = obj.photo.url_200x200
    return item

Obteniendo un response similar a:

    {
        "photo": "http://miurl/media/images/lafotooriginal.jpg",
        "person_thumbnail": "http://miurl/media/images/lafotooriginal.200x200.jpg"
    },

Eso es todo. Tenéis más info en la home del repo:
https://github.com/skitoo/django-thumbs

¡Avisa si te atascas y necesitas ayuda! :)

Saludos,
Alberto.