Django получить URL поля ImageField

У меня есть модель с ImageField:

class Category(models.Model):
    name = models.CharField(max_length=50, null=True, blank=True)
    icon = models.ImageField(upload_to='images/', blank=True, null=True)

В settings.py инициализированы 2 переменные:

MEDIA_ULR = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR, 'skyeng/media')

в методе views.py get:

    def get(self, request):
        query_set = Category.objects.all()
        items_data = [{
                'id': item.id,
                'name': item.name,
                'icon': item.icon.url} for item in query_set]

        return JsonResponse(items_data, safe=False)

В ответ должен прийти ответ, как в примере:

[
    {
        "id": 1,
        "name": "Category1",
        "icon": "http://icon/url"
    }
]

Так как мне нужно изменить мой код, чтобы icon.url в методе get было так, как в примере ответа?

Попробуйте это:

request.build_absolute_uri(item.icon.url)
Вернуться на верх