python - django-imagekit - 缩略图字段未序列化

标签 python json django serialization django-imagekit

我有以下问题:

我正在 django 中编写一个 AJAX View ,该 View 提供有关来自模型的图像列表的 JSON 数据,该模型使用来自 django-imagekit 扩展的 ImageSpecField:

class Image(models.Model):
   title = models.CharField(max_length=120)
   img = models.ImageField(upload_to="images")
   thumb = ImageSpecField(source="img",
       id="core:image:image_thumbnail"
     )
   objects = models.Manager()
   json_data = JSONConvertibleManager()

该模型使用自定义管理器通过内置的 Django 序列化程序(django.core.serializers 的实例)转换为 JSON (JSONConvertibleManager)。

我的问题是所有字段都已正确序列化,除了 ImageSpecField 已被完全省略。是否可以在序列化期间返回 instance.thumb.url 值?

最佳答案

仅供引用,我使用的是 Django Rest Framework,因此使用了该库中的序列化程序类。

我的模型:

class Photo(models.Model):
    """ Photograph """
    title = models.CharField(max_length=100)
    slug = models.SlugField(max_length=255)
    original_image = models.ImageField(upload_to='boxes')
    formatted_image = ImageSpecField(source='original_image', format='JPEG',
        options={'quality': 90})
    thumbnail = ImageSpecField([Adjust(contrast=1.2, sharpness=1.1),
        ResizeToFill(200, 115)], source='original_image',
        format='JPEG', options={'quality': 90})
    num_views = models.PositiveIntegerField(editable=False, default=0)

我的序列化器:

class PhotoSerializer(serializers.ModelSerializer):
    original_image = serializers.Field('original_image.url')
    thumbnail = serializers.Field('thumbnail.url')

    class Meta:
        model = Photo
        fields = ('id', 'title', 'original_image', 'thumbnail',)

关于python - django-imagekit - 缩略图字段未序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25240722/

相关文章:

java - JSONObject 无法转换为 JSONArray、SimpleJSON

javascript - AJAX/JS语法与数组一起传递,语法错误

django - 如何在不打开 "allow less secure apps"设置的情况下从 Gmail 发送电子邮件?

python - Django 原始查询

Django:基于组的权限示例/文档?

python - 如何使用 scikit-learn 获取每个 k-means 集群的惯性值?

Python:抛出异常或返回无?

python - 将两个图形添加到一个 pdf 文件中

python - Python-示波器

json - 来自单列中嵌套字典的 Pandas 数据框